@Override public void visitClosureExpression(ClosureExpression expression) { int oldValueRecorderIndex = valueRecorderIndex; int oldErrorCollectorIndex = errorCollectorIndex; super.visitClosureExpression(expression); valueRecorderIndex = oldValueRecorderIndex; errorCollectorIndex = oldErrorCollectorIndex; }
@Override public void visitClosureExpression(ClosureExpression ce) { boolean oldInClosure = inClosure; inClosure = true; super.visitClosureExpression(ce); inClosure = oldInClosure; }
@Override public void visitClosureExpression(ClosureExpression expr) { super.visitClosureExpression(expr); AstUtil.fixUpLocalVariables(dataProcessorVars, expr.getVariableScope(), true); }
@Override public void visitClosureExpression(final ClosureExpression expression) { boolean old = inAssignmentRHS; inAssignmentRHS = false; Map<Variable, VariableState> origState = new StateMap(); origState.putAll(getState()); super.visitClosureExpression(expression); cleanLocalVars(origState, getState()); inAssignmentRHS = old; }
public void visitClosureExpression(ClosureExpression expression) { visitNode(expression); super.visitClosureExpression(expression); }
@Override public void visitClosureExpression(ClosureExpression expression) { if (expression.isSynthetic()) { return; } Parameter[] origParams = expression.getParameters(); for (Parameter p : origParams) { p.setModifiers(p.getModifiers() | Modifier.FINAL); } super.visitClosureExpression(expression); }
@Override public void visitClosureExpression(final ClosureExpression expression) { super.visitClosureExpression(expression); if (inBuilderMethod) { Statement oldCode = expression.getCode(); BlockStatement block = oldCode instanceof BlockStatement? ((BlockStatement)oldCode): new BlockStatement(Arrays.asList(oldCode), new VariableScope()); List<Statement> statements = block.getStatements(); if (!statements.isEmpty()) { Statement first = statements.get(0); Statement last = statements.get(statements.size()-1); if (expression.getLineNumber()<first.getLineNumber()) { // there's a new line between { -> ... and the first statement statements.add(0,createNewLine(expression)); } if (expression.getLastLineNumber()>last.getLastLineNumber()) { // there's a new line between { -> ... and the first statement statements.add(createNewLine(expression)); } } expression.setCode(block); } }
); super.visitClosureExpression(expression); typeCheckingContext.delegationMetadata = typeCheckingContext.delegationMetadata.getParent(); MethodNode node = new MethodNode("dummy", 0, ClassHelper.OBJECT_TYPE, Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, code);
public void visitClosureExpression(ClosureExpression expression) { pushState(); expression.setVariableScope(currentScope); if (expression.isParameterSpecified()) { Parameter[] parameters = expression.getParameters(); for (Parameter parameter : parameters) { parameter.setInStaticContext(currentScope.isInStaticContext()); if (parameter.hasInitialExpression()) { parameter.getInitialExpression().visit(this); } declare(parameter, expression); } } else if (expression.getParameters() != null) { Parameter var = new Parameter(ClassHelper.OBJECT_TYPE, "it"); var.setInStaticContext(currentScope.isInStaticContext()); currentScope.putDeclaredVariable(var); } super.visitClosureExpression(expression); markClosureSharedVariables(); popState(); }
@Override public void visitClosureExpression(ClosureExpression ce) { boolean oldInClosure = inClosure; inClosure = true; super.visitClosureExpression(ce); inClosure = oldInClosure; }
public void secondPass(ClosureExpression closureExpression) { secondPass = true; super.visitClosureExpression(closureExpression); }
@Override public final void visitClosureExpression(ClosureExpression expression) { super.visitClosureExpression(expression); }
public void visitClosureExpression(ClosureExpression expr){ context.push(expr); super.visitClosureExpression(expr); context.pop(); } public void visitDeclarationExpression(DeclarationExpression expr){
public void visitClosureExpression(ClosureExpression expr){ context.push(expr); super.visitClosureExpression(expr); context.pop(); } public void visitDeclarationExpression(DeclarationExpression expr){
@Override public void visitClosureExpression(ClosureExpression arg0) { fixLineNumbers(arg0); super.visitClosureExpression(arg0); } @Override
@Override public void visitClosureExpression(ClosureExpression arg0) { fixLineNumbers(arg0); super.visitClosureExpression(arg0); } @Override
@Override public void visitClosureExpression(final ClosureExpression expression) { pushContext(expression); super.visitClosureExpression(expression); popContext(); }
@Override public void visitClosureExpression(ClosureExpression expression) { if (!blocks.remove(expression)) { return; } if (expression.isParameterSpecified()) { for (Parameter param : expression.getParameters()) { variables.put(param.getName(), param); } } else { variables.put("it", new VariableExpression("it")); // NOI18N } super.visitClosureExpression(expression); }
@Override public void visitClosureExpression(ClosureExpression node) { if (isInside(node, line, column)) { super.visitClosureExpression(node); if (node.isParameterSpecified()) { for (Parameter parameter : node.getParameters()) { isInside(parameter, line, column); } } } }
public void visitClosureExpression(ClosureExpression expression) { pushState(); expression.setVariableScope(currentScope); if (expression.isParameterSpecified()) { Parameter[] parameters = expression.getParameters(); for (Parameter parameter : parameters) { parameter.setInStaticContext(currentScope.isInStaticContext()); if (parameter.hasInitialExpression()) { parameter.getInitialExpression().visit(this); } declare(parameter, expression); } } else if (expression.getParameters() != null) { Parameter var = new Parameter(ClassHelper.OBJECT_TYPE, "it"); var.setInStaticContext(currentScope.isInStaticContext()); currentScope.putDeclaredVariable(var); } super.visitClosureExpression(expression); markClosureSharedVariables(); popState(); }