public boolean visit(CallExpression call) throws Exception { final FieldDeclaration constantDecl = ASTUtils.getConstantDeclaration(call); if (constantDecl != null) { // In case we are entering a nested element if (!declarations.empty() && declarations.peek() instanceof MethodDeclaration) { deferredDeclarations.add(constantDecl); return false; } visit(constantDecl); } else { int argsCount = 0; final CallArgumentsList args = call.getArgs(); if (args != null && args.getChilds() != null) { argsCount = args.getChilds().size(); } fRequestor.acceptMethodReference( call.getName(), argsCount, call.getCallName().sourceStart(), call.getCallName().sourceEnd()); } return true; }
public boolean visit(ConstantDeclaration declaration) throws Exception { final ISourceElementRequestor.FieldInfo info = new ISourceElementRequestor.FieldInfo(); info.modifiers = Modifiers.AccConstant | Modifiers.AccPublic | Modifiers.AccFinal; final ConstantReference constantName = declaration.getConstantName(); info.name = ASTUtils.stripQuotes(constantName.getName()); info.nameSourceEnd = constantName.sourceEnd() - 1; info.nameSourceStart = constantName.sourceStart(); info.declarationStart = declaration.sourceStart(); fRequestor.enterField(info); return true; }