in src/main/java/org/apache/sling/scripting/sightly/impl/plugin/IncludePlugin.java [41:67]
public PluginInvoke invoke(
final Expression expression, final PluginCallInfo callInfo, final CompilerContext compilerContext) {
return new DefaultPluginInvoke() {
@Override
public void beforeChildren(PushStream stream) {
String includedContentVar = compilerContext.generateVariable("includedResult");
String pathVar = compilerContext.generateVariable("includePath");
stream.write(new VariableBinding.Start(pathVar, expression.getRoot()));
stream.write(new VariableBinding.Start(
includedContentVar,
new RuntimeCall(
RuntimeCall.INCLUDE,
new Identifier(pathVar),
new MapLiteral(expression.getOptions()))));
stream.write(new OutputVariable(includedContentVar));
stream.write(VariableBinding.END); // end includedContentVar
stream.write(VariableBinding.END); // end pathVar
Patterns.beginStreamIgnore(stream);
}
@Override
public void afterChildren(PushStream stream) {
Patterns.endStreamIgnore(stream);
}
};
}