@Override public void visitMethod(MethodNode node) { Boolean oldInsideScriptBody = insideScriptBody; if (node.isScriptBody()) insideScriptBody = true; super.visitMethod(node); insideScriptBody = oldInsideScriptBody; }
@Override public void visitMethod(MethodNode node) { addVariablesToStack(node.getParameters()); super.visitMethod(node); varStack.removeLast(); }
private void newifyMethodOrField(AnnotatedNode parent, boolean autoFlag, ListExpression list, final Pattern cnPattern) { final ListExpression oldClassesToNewify = classesToNewify; final boolean oldAuto = auto; final Pattern oldCnPattern = classNamePattern; checkClassLevelClashes(list); checkAutoClash(autoFlag, parent); classesToNewify = list; auto = autoFlag; classNamePattern = cnPattern; if (parent instanceof FieldNode) { super.visitField((FieldNode) parent); } else { super.visitMethod((MethodNode) parent); } classesToNewify = oldClassesToNewify; auto = oldAuto; classNamePattern = oldCnPattern; }
method.setParameters(newParams); expressionTransformer.visitMethod(method);
/** * If the method is not CPS transformed, we need to sandbox-transform that * method to intercept calls that happen in these methods. * This includes all constructor bodies. * @see SandboxTransformer#call */ @Override protected void visitNontransformedMethod(MethodNode m) { stv.visitMethod(m); }
public void visitMethod(MethodNode node){ if(node.isStatic()){ inStatic = true; } super.visitMethod(node); inStatic = false; }
@Override public void visitMethod(MethodNode node) { Boolean oldInsideScriptBody = insideScriptBody; if (node.isScriptBody()) insideScriptBody = true; super.visitMethod(node); insideScriptBody = oldInsideScriptBody; }
public void visitMethod(MethodNode node){ if(node.isStatic()){ inStatic = true; } super.visitMethod(node); inStatic = false; }
public void visitMethod(MethodNode node) { Set<String> names = new HashSet<String>(); names.addAll(varStack.getLast()); final Parameter[] params = node.getParameters(); for (int i = 0; i < params.length; i++) { Parameter param = params[i]; names.add(param.getName()); } varStack.add(names); super.visitMethod(node); varStack.removeLast(); }
public void visitMethod(MethodNode node) { addVariablesToStack(node.getParameters()); super.visitMethod(node); varStack.removeLast(); }
@Override public void visitMethod(MethodNode node) { addVariablesToStack(node.getParameters()); super.visitMethod(node); varStack.removeLast(); }
@Override public void visitMethod(MethodNode node) { varScope = null; try (StackVariableSet scope = new StackVariableSet(this)) { for (Parameter p : node.getParameters()) { declareVariable(p); } super.visitMethod(node); } }
private void newifyMethodOrField(AnnotatedNode parent, boolean autoFlag, ListExpression list) { final ListExpression oldClassesToNewify = classesToNewify; final boolean oldAuto = auto; checkClassLevelClashes(list); checkAutoClash(autoFlag); classesToNewify = list; auto = autoFlag; if (parent instanceof FieldNode) { super.visitField((FieldNode) parent); } else { super.visitMethod((MethodNode) parent); } classesToNewify = oldClassesToNewify; auto = oldAuto; }
private void newifyMethodOrField(AnnotatedNode parent, boolean autoFlag, ListExpression list) { final ListExpression oldClassesToNewify = classesToNewify; final boolean oldAuto = auto; checkClassLevelClashes(list); checkAutoClash(autoFlag, parent); classesToNewify = list; auto = autoFlag; if (parent instanceof FieldNode) { super.visitField((FieldNode) parent); } else { super.visitMethod((MethodNode) parent); } classesToNewify = oldClassesToNewify; auto = oldAuto; }
private void newifyMethodOrField(AnnotatedNode parent, boolean autoFlag, ListExpression list) { final ListExpression oldClassesToNewify = classesToNewify; final boolean oldAuto = auto; checkClassLevelClashes(list); checkAutoClash(autoFlag); classesToNewify = list; auto = autoFlag; if (parent instanceof FieldNode) { super.visitField((FieldNode) parent); } else { super.visitMethod((MethodNode) parent); } classesToNewify = oldClassesToNewify; auto = oldAuto; }
expressionTransformer.visitMethod(method);
method.setParameters(newParams); expressionTransformer.visitMethod(method);
method.setParameters(newParams); expressionTransformer.visitMethod(method);
@Override public void call(final SourceUnit source, GeneratorContext context, ClassNode classNode) { if (classNode == null) { // TODO is this even possible? CpsTransformer implies it is not. return; } ClassCodeExpressionTransformer visitor = createVisitor(source, classNode); processConstructors(visitor, classNode); for (MethodNode m : classNode.getMethods()) { forbidIfFinalizer(m); visitor.visitMethod(m); } for (Statement s : classNode.getObjectInitializerStatements()) { s.visit(visitor); } for (FieldNode f : classNode.getFields()) { visitor.visitField(f); } }
if (TRIVIAL_CONSTRUCTORS.contains(superClass.getName())) { for (ConstructorNode c : declaredConstructors) { visitor.visitMethod(c); ConstructorCallExpression cce = (ConstructorCallExpression) ((ExpressionStatement) body.get(0)).getExpression(); if (cce.isThisCall()) { // these are fine as is visitor.visitMethod(c); continue; } else if (cce.isSuperCall()) {