in src/main/java/org/apache/sling/scripting/sightly/java/compiler/impl/CodeGenVisitor.java [69:94]
private void initVariable(VariableDescriptor descriptor, JavaSource initSource) {
VariableScope scope = descriptor.getScope();
if (scope == VariableScope.DYNAMIC) {
initSource.beginAssignment(descriptor.getAssignedName());
if (descriptor.isTemplateVariable()) {
initSource.startCall(SourceGenConstants.RECORD_GET_VALUE);
} else if (unitParameters.contains(descriptor.getOriginalName().toLowerCase())) {
initSource.startMethodCall(SourceGenConstants.ARGUMENTS_FIELD, SourceGenConstants.BINDINGS_GET_METHOD);
} else {
initSource.startMethodCall(SourceGenConstants.BINDINGS_FIELD, SourceGenConstants.BINDINGS_GET_METHOD);
}
initSource.stringLiteral(descriptor.getOriginalName())
.endCall()
.endStatement();
} else if (scope == VariableScope.GLOBAL) {
initSource.beginAssignment(descriptor.getAssignedName())
.nullLiteral()
.endStatement();
}
String listCoercionVar = descriptor.getListCoercion();
if (listCoercionVar != null) {
//need to initialize the list coercion to null
initSource.beginAssignment(listCoercionVar, SourceGenConstants.COLLECTION_TYPE)
.nullLiteral().endStatement();
}
}