@Override public Optional<Value> solveSymbolAsValue(String name, TypeSolver typeSolver) { for (Expression expr : wrappedNode.getResources()) { if (expr instanceof VariableDeclarationExpr) { for (VariableDeclarator v : ((VariableDeclarationExpr)expr).getVariables()) { if (v.getName().getIdentifier().equals(name)) { JavaParserSymbolDeclaration decl = JavaParserSymbolDeclaration.localVar(v, typeSolver); return Optional.of(Value.from(decl)); } } } } if (getParentNode(wrappedNode) instanceof BlockStmt) { return StatementContext.solveInBlockAsValue(name, typeSolver, wrappedNode); } else { return getParent().solveSymbolAsValue(name, typeSolver); } }
@Override public Optional<Value> solveSymbolAsValue(String name, TypeSolver typeSolver) { for (Expression expr : wrappedNode.getResources()) { if (expr instanceof VariableDeclarationExpr) { for (VariableDeclarator v : ((VariableDeclarationExpr)expr).getVariables()) { if (v.getName().getIdentifier().equals(name)) { JavaParserSymbolDeclaration decl = JavaParserSymbolDeclaration.localVar(v, typeSolver); return Optional.of(Value.from(decl)); } } } } if (getParentNode(wrappedNode) instanceof BlockStmt) { return StatementContext.solveInBlockAsValue(name, typeSolver, wrappedNode); } else { return getParent().solveSymbolAsValue(name, typeSolver); } }
@Override public Optional<Value> solveSymbolAsValue(String name) { for (Expression expr : wrappedNode.getResources()) { if (expr instanceof VariableDeclarationExpr) { for (VariableDeclarator v : ((VariableDeclarationExpr)expr).getVariables()) { if (v.getName().getIdentifier().equals(name)) { JavaParserSymbolDeclaration decl = JavaParserSymbolDeclaration.localVar(v, typeSolver); return Optional.of(Value.from(decl)); } } } } if (requireParentNode(wrappedNode) instanceof BlockStmt) { return StatementContext.solveInBlockAsValue(name, typeSolver, wrappedNode); } else { return getParent().solveSymbolAsValue(name); } }