controller.getCompileStack().pushLoop(loop.getVariableScope(), loop.getStatementLabels());
@Override protected void writeForInLoop(final ForStatement loop) { controller.getAcg().onLineNumber(loop,"visitForLoop"); writeStatementLabel(loop); CompileStack compileStack = controller.getCompileStack(); MethodVisitor mv = controller.getMethodVisitor(); OperandStack operandStack = controller.getOperandStack(); compileStack.pushLoop(loop.getVariableScope(), loop.getStatementLabels()); // Identify type of collection TypeChooser typeChooser = controller.getTypeChooser(); Expression collectionExpression = loop.getCollectionExpression(); ClassNode collectionType = typeChooser.resolveType(collectionExpression, controller.getClassNode()); Parameter loopVariable = loop.getVariable(); int size = operandStack.getStackLength(); if (collectionType.isArray() && loopVariable.getOriginType().equals(collectionType.getComponentType())) { writeOptimizedForEachLoop(compileStack, operandStack, mv, loop, collectionExpression, collectionType, loopVariable); } else if (ENUMERATION_CLASSNODE.equals(collectionType)) { writeEnumerationBasedForEachLoop(compileStack, operandStack, mv, loop, collectionExpression, collectionType, loopVariable); } else { writeIteratorBasedForEachLoop(compileStack, operandStack, mv, loop, collectionExpression, collectionType, loopVariable); } operandStack.popDownTo(size); compileStack.pop(); }
OperandStack operandStack = controller.getOperandStack(); compileStack.pushLoop(loop.getVariableScope(), loop.getStatementLabels());
private void visitForLoopWithClosureList(ForStatement loop) { compileStack.pushLoop(loop.getVariableScope(), loop.getStatementLabel());
private void visitForLoopWithClosureList(ForStatement loop) { compileStack.pushLoop(loop.getVariableScope(), loop.getStatementLabel());
compileStack.pushLoop(loop.getVariableScope(), loop.getStatementLabel());
compileStack.pushLoop(loop.getVariableScope(), loop.getStatementLabel());
private void visitForLoopWithClosureList(ForStatement loop) { compileStack.pushLoop(loop.getVariableScope(), loop.getStatementLabel());
controller.getCompileStack().pushLoop(loop.getVariableScope(), loop.getStatementLabel());
VariableScope variableScope = ((ForStatement) scope).getVariableScope(); if (variableScope.getDeclaredVariable(variable.getName()) != null) { return scope;
VariableScope variableScope = ((ForStatement) scope).getVariableScope(); if (variableScope != null && variableScope.getDeclaredVariable(variable.getName()) != null) { visitForLoop((ForStatement) scope);
compileStack.pushLoop(loop.getVariableScope(), loop.getStatementLabel());
OperandStack operandStack = controller.getOperandStack(); compileStack.pushLoop(loop.getVariableScope(), loop.getStatementLabel());