in src/main/java/org/apache/sling/scripting/sightly/java/compiler/impl/GenHelper.java [57:84]
public static void listCoercion(JavaSource source, ExpressionTranslator visitor, TypedNode typedNode) {
ExpressionNode node = typedNode.getNode();
if (node instanceof Identifier) {
//using list coercion caching optimization
VariableDescriptor descriptor = visitor.getAnalyzer().descriptor(((Identifier) node).getName());
String listCoercionVar = descriptor.requireListCoercion();
source.startExpression()
.append(listCoercionVar)
.equality()
.nullLiteral()
.conditional()
.startExpression()
.append(listCoercionVar)
.assign()
.objectModel().startCall(SourceGenConstants.ROM_TO_COLLECTION, true);
node.accept(visitor);
source
.endCall()
.endExpression()
.conditionalBranchSep()
.append(listCoercionVar)
.endExpression();
} else {
source.objectModel().startCall(SourceGenConstants.ROM_TO_COLLECTION, true);
typedNode.getNode().accept(visitor);
source.endCall();
}
}