Home | History | Annotate | Download | only in javaparsermodel

Lines Matching refs:node

66     public ResolvedType visit(VariableDeclarator node, Boolean solveLambdas) {
67 if (requireParentNode(node) instanceof FieldDeclaration) {
68 return facade.convertToUsageVariableType(node);
69 } else if (requireParentNode(node) instanceof VariableDeclarationExpr) {
70 return facade.convertToUsageVariableType(node);
72 throw new UnsupportedOperationException(requireParentNode(node).getClass().getCanonicalName());
76 public ResolvedType visit(Parameter node, Boolean solveLambdas) {
77 if (node.getType() instanceof UnknownType) {
78 throw new IllegalStateException("Parameter has unknown type: " + node);
80 return facade.convertToUsage(node.getType(), node);
85 public ResolvedType visit(ArrayAccessExpr node, Boolean solveLambdas) {
86 ResolvedType arrayUsageType = node.getName().accept(this, solveLambdas);
94 public ResolvedType visit(ArrayCreationExpr node, Boolean solveLambdas) {
95 ResolvedType res = facade.convertToUsage(node.getElementType(), JavaParserFactory.getContext(node, typeSolver));
96 for (int i = 0; i < node.getLevels().size(); i++) {
103 public ResolvedType visit(ArrayInitializerExpr node, Boolean solveLambdas) {
104 throw new UnsupportedOperationException(node.getClass().getCanonicalName());
108 public ResolvedType visit(AssignExpr node, Boolean solveLambdas) {
109 return node.getTarget().accept(this, solveLambdas);
113 public ResolvedType visit(BinaryExpr node, Boolean solveLambdas) {
114 switch (node.getOperator()) {
119 return facade.getBinaryTypeConcrete(node.getLeft(), node.getRight(), solveLambdas);
136 return node.getLeft().accept(this, solveLambdas);
138 throw new UnsupportedOperationException("Operator " + node.getOperator().name());
143 public ResolvedType visit(CastExpr node, Boolean solveLambdas) {
144 return facade.convertToUsage(node.getType(), JavaParserFactory.getContext(node, typeSolver));
148 public ResolvedType visit(ClassExpr node, Boolean solveLambdas) {
150 com.github.javaparser.ast.type.Type astType = node.getType();
151 ResolvedType jssType = facade.convertToUsage(astType, node.getType());
156 public ResolvedType visit(ConditionalExpr node, Boolean solveLambdas) {
157 return node.getThenExpr().accept(this, solveLambdas);
161 public ResolvedType visit(EnclosedExpr node, Boolean solveLambdas) {
162 return node.getInner().accept(this, solveLambdas);
169 private ResolvedType solveDotExpressionType(ResolvedReferenceTypeDeclaration parentType, FieldAccessExpr node) {
172 if (parentType.hasField(node.getName().getId())) {
173 return parentType.getField(node.getName().getId()).getType();
174 } else if (parentType.hasInternalType(node.getName().getId())) {
175 return new ReferenceTypeImpl(parentType.getInternalType(node.getName().getId()), typeSolver);
177 throw new UnsolvedSymbolException(node.getName().getId());
182 public ResolvedType visit(FieldAccessExpr node, Boolean solveLambdas) {
184 if (node.getScope() instanceof NameExpr ||
185 node.getScope() instanceof FieldAccessExpr) {
186 Expression staticValue = node.getScope();
187 SymbolReference<ResolvedTypeDeclaration> typeAccessedStatically = JavaParserFactory.getContext(node, typeSolver).solveType(staticValue.toString(), typeSolver);
191 typeAccessedStatically.getCorrespondingDeclaration().asReferenceType(), node);
193 } else if (node.getScope() instanceof ThisExpr) {
196 SymbolReference<ResolvedTypeDeclaration> solve = facade.solve((ThisExpr) node.getScope());
201 return solveDotExpressionType(correspondingDeclaration.asReferenceType(), node);
205 } else if (node.getScope().toString().indexOf('.') > 0) {
207 SymbolReference<ResolvedReferenceTypeDeclaration> sr = typeSolver.tryToSolveType(node.getScope().toString());
209 return solveDotExpressionType(sr.getCorrespondingDeclaration(), node);
214 value = new SymbolSolver(typeSolver).solveSymbolAsValue(node.getName().getId(), node);
216 // This node may have a package name as part of its fully qualified name.
218 SymbolReference<ResolvedReferenceTypeDeclaration> sref = typeSolver.tryToSolveType(node.toString());
226 throw new com.github.javaparser.resolution.UnsolvedSymbolException(node.getName().getId());
230 public ResolvedType visit(InstanceOfExpr node, Boolean solveLambdas) {
235 public ResolvedType visit(StringLiteralExpr node, Boolean solveLambdas) {
240 public ResolvedType visit(IntegerLiteralExpr node, Boolean solveLambdas) {
245 public ResolvedType visit(LongLiteralExpr node, Boolean solveLambdas) {
250 public ResolvedType visit(CharLiteralExpr node, Boolean solveLambdas) {
255 public ResolvedType visit(DoubleLiteralExpr node, Boolean solveLambdas) {
256 if (node.getValue().toLowerCase().endsWith("f")) {
263 public ResolvedType visit(BooleanLiteralExpr node, Boolean solveLambdas) {
268 public ResolvedType visit(NullLiteralExpr node, Boolean solveLambdas) {
273 public ResolvedType visit(MethodCallExpr node, Boolean solveLambdas) {
274 logger.finest("getType on method call " + node);
276 MethodUsage ref = facade.solveMethodAsUsage(node);
277 logger.finest("getType on method call " + node + " resolved to " + ref);
278 logger.finest("getType on method call " + node + " return type is " + ref.returnType());
284 public ResolvedType visit(NameExpr node, Boolean solveLambdas) {
285 logger.finest("getType on name expr " + node);
286 Optional<Value> value = new SymbolSolver(typeSolver).solveSymbolAsValue(node.getName().getId(), node);
288 throw new com.github.javaparser.resolution.UnsolvedSymbolException("Solving " + node, node.getName().getId());
295 public ResolvedType visit(ObjectCreationExpr node, Boolean solveLambdas) {
296 return facade.convertToUsage(node.getType(), node);
300 public ResolvedType visit(ThisExpr node, Boolean solveLambdas) {
302 if (node.getClassExpr().isPresent()) {
304 String className = node.getClassExpr().get().toString();
311 Optional<CompilationUnit> cu = node.getAncestorOfType(CompilationUnit.class);
320 return new ReferenceTypeImpl(facade.getTypeDeclaration(facade.findContainingTypeDeclOrObjectCreationExpr(node)), typeSolver);
324 public ResolvedType visit(SuperExpr node, Boolean solveLambdas) {
325 ResolvedTypeDeclaration typeOfNode = facade.getTypeDeclaration(facade.findContainingTypeDecl(node));
329 throw new UnsupportedOperationException(node.getClass().getCanonicalName());
334 public ResolvedType visit(UnaryExpr node, Boolean solveLambdas) {
335 switch (node.getOperator()) {
338 return node.getExpression().accept(this, solveLambdas);
345 return node.getExpression().accept(this, solveLambdas);
347 throw new UnsupportedOperationException(node.getOperator().name());
352 public ResolvedType visit(VariableDeclarationExpr node, Boolean solveLambdas) {
353 if (node.getVariables().size() != 1) {
356 return facade.convertToUsageVariableType(node.getVariables().get(0));
361 public ResolvedType visit(LambdaExpr node, Boolean solveLambdas) {
362 if (requireParentNode(node) instanceof MethodCallExpr) {
363 MethodCallExpr callExpr = (MethodCallExpr) requireParentNode(node);
364 int pos = JavaParserSymbolDeclaration.getParamPos(node);
367 throw new com.github.javaparser.resolution.UnsolvedSymbolException(requireParentNode(node).toString(), callExpr.getName().getId());
401 Context ctx = JavaParserFactory.getContext(node, typeSolver);
409 LambdaExpr lambdaExpr = node;
472 public ResolvedType visit(MethodReferenceExpr node, Boolean solveLambdas) {
473 if (requireParentNode(node) instanceof MethodCallExpr) {
474 MethodCallExpr callExpr = (MethodCallExpr) requireParentNode(node);
475 int pos = JavaParserSymbolDeclaration.getParamPos(node);
478 throw new com.github.javaparser.resolution.UnsolvedSymbolException(requireParentNode(node).toString(), callExpr.getName().getId());
486 Context ctx = JavaParserFactory.getContext(node, typeSolver);
493 MethodReferenceExpr methodReferenceExpr = node;
511 public ResolvedType visit(FieldDeclaration node, Boolean solveLambdas) {
512 if (node.getVariables().size() == 1) {
513 return node.getVariables().get(0).accept(this, solveLambdas);