@Override public void visitMethodCallExpression(MethodCallExpression node) { if (node.isImplicitThis()) { doVisitMethodCall(node); } super.visitMethodCallExpression(node); }
@Override public void visitClosureExpression(ClosureExpression expression) { int oldValueRecorderIndex = valueRecorderIndex; int oldErrorCollectorIndex = errorCollectorIndex; super.visitClosureExpression(expression); valueRecorderIndex = oldValueRecorderIndex; errorCollectorIndex = oldErrorCollectorIndex; }
public void visitClass(ClassNode klassNode) { ClassNode oldClass = classNode; classNode = klassNode; super.visitClass(classNode); classNode = oldClass; }
super.visitPropertyExpression(pexp); if (visitor != null) { PropertyNode node = new PropertyNode("length", Opcodes.ACC_PUBLIC | Opcodes.ACC_FINAL, int_TYPE, objectExpressionType, null, null, null); visitor.visitProperty(node); if (visitor != null && getter != null) visitor.visitMethod(getter); if (visitor != null) { if (field != null) { visitor.visitField(field); } else { for (MethodNode setter : setters) { ClassNode setterType = setter.getParameters()[0].getOriginType(); FieldNode virtual = new FieldNode(propertyName, 0, setterType, current, EmptyExpression.INSTANCE); visitor.visitField(virtual); MethodNode getter = methodNodes.get(0); if (visitor != null) { visitor.visitMethod(getter); visitor.visitProperty(node);
@Override public void visitField(FieldNode node) { if (hasNoExplicitAutoFinal(node) || candidate == node) { super.visitField(node); } }
@Override public void visitMethod(MethodNode node) { addNode(methods, node.getName(), node); super.visitMethod(node); }
@Override protected void visitConstructorOrMethod(MethodNode node, boolean isConstructor) { if (hasNoExplicitAutoFinal(node) || candidate == node) { super.visitConstructorOrMethod(node, isConstructor); } }
@Override public void visitBlockStatement(final BlockStatement block) { Set<Variable> old = declaredFinalVariables; declaredFinalVariables = new HashSet<Variable>(); super.visitBlockStatement(block); declaredFinalVariables = old; }
@Override public void visitConstructorCallExpression(ConstructorCallExpression call) { if (call.getNodeMetaData(StatementMeta.class)!=null) return; super.visitConstructorCallExpression(call); // we cannot a target for the constructor call, since we cannot easily // check the meta class of the other class // setMethodTarget(call, "<init>", call.getArguments(), false); }
public void visitBinaryExpression(BinaryExpression expression) { visitNode(expression); super.visitBinaryExpression(expression); }
public void visitConstantExpression(ConstantExpression expression) { super.visitConstantExpression(expression); checkStringExceedingMaximumLength(expression); }
@Override public void visitField(FieldNode node) { addNode(fields, node.getName(), node); super.visitField(node); }
@Override public void visitMethod(MethodNode node) { scope = node.getVariableScope(); super.visitMethod(node); opt.reset(); }
public void visitConstructor(ConstructorNode node) { visitConstructorOrMethod(node, true); }
@Override public void visitBlockStatement(BlockStatement block) { if (block != null) { typeCheckingContext.enclosingBlocks.addFirst(block); } super.visitBlockStatement(block); if (block != null) { visitClosingBlock(block); } }
@Override public void visitConstructorCallExpression(ConstructorCallExpression cce) { boolean oldIsSpecialConstructorCall = inSpecialConstructorCall; inSpecialConstructorCall = cce.isSpecialCall(); super.visitConstructorCallExpression(cce); inSpecialConstructorCall = oldIsSpecialConstructorCall; }
@Override public void visitBinaryExpression(BinaryExpression be) { super.visitBinaryExpression(be); switch (be.getOperation().getType()) { case Types.EQUAL: // = assignment case Types.BITWISE_AND_EQUAL: case Types.BITWISE_OR_EQUAL: case Types.BITWISE_XOR_EQUAL: case Types.PLUS_EQUAL: case Types.MINUS_EQUAL: case Types.MULTIPLY_EQUAL: case Types.DIVIDE_EQUAL: case Types.INTDIV_EQUAL: case Types.MOD_EQUAL: case Types.POWER_EQUAL: case Types.LEFT_SHIFT_EQUAL: case Types.RIGHT_SHIFT_EQUAL: case Types.RIGHT_SHIFT_UNSIGNED_EQUAL: checkFinalFieldAccess(be.getLeftExpression()); break; default: break; } }
public void visitConstantExpression(ConstantExpression expression) { visitNode(expression); super.visitConstantExpression(expression); }
@Override public void visitField(FieldNode node) { super.visitField(node); addToCache(node.getType()); } @Override
public void visitClass(ClassNode node, SourceUnit source) { this.source = source; super.visitClass(node); }