fixActionInsertFactBindings( model.rhs );
StringBuilder buf = new StringBuilder();
StringBuilder header = new StringBuilder();
LHSGeneratorContextFactory lhsGeneratorContextFactory = new LHSGeneratorContextFactory();
RHSGeneratorContextFactory rhsGeneratorContextFactory = new RHSGeneratorContextFactory();
//Build rule
this.marshalRuleHeader( model,
header );
super.marshalMetadata( buf,
model );
super.marshalAttributes( buf,
model );
buf.append( "\twhen\n" );
super.marshalLHS( buf,
model,
isDSLEnhanced,
lhsGeneratorContextFactory );
buf.append( "\tthen\n" );
super.marshalRHS( buf,
model,
isDSLEnhanced,
rhsGeneratorContextFactory );
this.marshalFooter( buf );
for ( LHSGeneratorContext gc : lhsGeneratorContextFactory.getGeneratorContexts() ) {
header.append( "@code{hasLHSOutput" + gc.getDepth() + "_" + gc.getOffset() + " = false}" );
header.append( "@code{hasLHSNonTemplateOutput" + gc.getDepth() + "_" + gc.getOffset() + " = " + gc.hasNonTemplateOutput() + "}" );
}
for ( RHSGeneratorContext gc : rhsGeneratorContextFactory.getGeneratorContexts() ) {
header.append( "@code{hasRHSOutput" + gc.getDepth() + "_" + gc.getOffset() + " = false}" );
header.append( "@code{hasRHSNonTemplateOutput" + gc.getDepth() + "_" + gc.getOffset() + " = " + gc.hasNonTemplateOutput() + "}" );
}
header.append( "@code{\n" +