in src/main/java/org/apache/sling/scripting/sightly/java/compiler/impl/CodeGenVisitor.java [188:206]
public void visit(Loop.Start loop) {
VariableDescriptor descriptor = analyzer.descriptor(loop.getListVariable());
String listVariable = descriptor.getAssignedName();
String collectionVar = descriptor.requireListCoercion();
source.beginIf().append(collectionVar).equality().nullLiteral().completeIf()
.startStatement()
.append(collectionVar)
.assign()
.objectModel().startCall(SourceGenConstants.ROM_TO_COLLECTION, true)
.append(listVariable)
.endCall()
.endStatement()
.endIf();
String indexVar = declare(loop.getIndexVariable(), Type.LONG);
source.beginAssignment(indexVar, Type.LONG.getNativeClass()).number(0).endStatement();
String itemVar = declare(loop.getItemVariable(), Type.UNKNOWN);
source.beginFor(itemVar, collectionVar);
loopStatusStack.push(indexVar);
}