protected final Optional<Value> solveWithAsValue(SymbolDeclarator symbolDeclarator, String name, TypeSolver typeSolver) { for (ResolvedValueDeclaration decl : symbolDeclarator.getSymbolDeclarations()) { if (decl.getName().equals(name)) { throw new UnsupportedOperationException(); } } return Optional.empty(); }
protected final Optional<Value> solveWithAsValue(SymbolDeclarator symbolDeclarator, String name, TypeSolver typeSolver) { for (ResolvedValueDeclaration decl : symbolDeclarator.getSymbolDeclarations()) { if (decl.getName().equals(name)) { throw new UnsupportedOperationException(); } } return Optional.empty(); }
protected Optional<Value> solveWithAsValue(SymbolDeclarator symbolDeclarator, String name) { return symbolDeclarator.getSymbolDeclarations().stream() .filter(d -> d.getName().equals(name)) .map(Value::from) .findFirst(); }
protected final Optional<Value> solveWithAsValue(SymbolDeclarator symbolDeclarator, String name) { for (ResolvedValueDeclaration decl : symbolDeclarator.getSymbolDeclarations()) { if (decl.getName().equals(name)) { throw new UnsupportedOperationException(); } } return Optional.empty(); }
protected Optional<Value> solveWithAsValue(SymbolDeclarator symbolDeclarator, String name, TypeSolver typeSolver) { return symbolDeclarator.getSymbolDeclarations().stream() .filter(d -> d.getName().equals(name)) .map(d -> Value.from(d)) .findFirst(); }
protected Optional<Value> solveWithAsValue(SymbolDeclarator symbolDeclarator, String name, TypeSolver typeSolver) { return symbolDeclarator.getSymbolDeclarations().stream() .filter(d -> d.getName().equals(name)) .map(d -> Value.from(d)) .findFirst(); }
/** * Create a Value from a ValueDeclaration. */ public static Value from(ResolvedValueDeclaration decl) { ResolvedType type = decl.getType(); return new Value(type, decl.getName()); }
/** * Create a Value from a ValueDeclaration. */ public static Value from(ResolvedValueDeclaration decl) { ResolvedType type = decl.getType(); return new Value(type, decl.getName()); }
public static final SymbolReference<ResolvedValueDeclaration> solveWith(SymbolDeclarator symbolDeclarator, String name) { for (ResolvedValueDeclaration decl : symbolDeclarator.getSymbolDeclarations()) { if (decl.getName().equals(name)) { return SymbolReference.solved(decl); } } return SymbolReference.unsolved(ResolvedValueDeclaration.class); }
public static final SymbolReference<ResolvedValueDeclaration> solveWith(SymbolDeclarator symbolDeclarator, String name) { for (ResolvedValueDeclaration decl : symbolDeclarator.getSymbolDeclarations()) { if (decl.getName().equals(name)) { return SymbolReference.solved(decl); } } return SymbolReference.unsolved(ResolvedValueDeclaration.class); }
public static SymbolReference<ResolvedValueDeclaration> solveWith(SymbolDeclarator symbolDeclarator, String name) { for (ResolvedValueDeclaration decl : symbolDeclarator.getSymbolDeclarations()) { if (decl.getName().equals(name)) { return SymbolReference.solved(decl); } } return SymbolReference.unsolved(ResolvedValueDeclaration.class); }
int index = 0; for (ResolvedValueDeclaration decl : sb.getSymbolDeclarations()) { if (decl.getName().equals(name)) { if (getParentNode(wrappedNode) instanceof MethodCallExpr) { MethodCallExpr methodCallExpr = (MethodCallExpr) getParentNode(wrappedNode);
int index = 0; for (ResolvedValueDeclaration decl : sb.getSymbolDeclarations()) { if (decl.getName().equals(name)) { if (getParentNode(wrappedNode) instanceof MethodCallExpr) { MethodCallExpr methodCallExpr = (MethodCallExpr) getParentNode(wrappedNode);
int index = 0; for (ResolvedValueDeclaration decl : sb.getSymbolDeclarations()) { if (decl.getName().equals(name)) { if (requireParentNode(wrappedNode) instanceof MethodCallExpr) { MethodCallExpr methodCallExpr = (MethodCallExpr) requireParentNode(wrappedNode);
@Test public void resolveReferenceToFieldInheritedByInterface() throws FileNotFoundException { String code = "package foo.bar;\n"+ "interface A {\n" + " int a = 0;\n" + " }\n" + " \n" + " class B implements A {\n" + " int getA() {\n" + " return a;\n" + " }\n" + " }"; CompilationUnit cu = JavaParser.parse(code); NameExpr refToA = Navigator.findNameExpression(Navigator.demandClass(cu, "B"), "a"); SymbolReference<? extends ResolvedValueDeclaration> symbolReference = javaParserFacade.solve(refToA); assertEquals(true, symbolReference.isSolved()); assertEquals(true, symbolReference.getCorrespondingDeclaration().isField()); assertEquals("a", symbolReference.getCorrespondingDeclaration().getName()); }