public static void listCoercion()

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();
        }
    }