only gen "set stop token" if finally/after actions exist.

This commit is contained in:
parrt 2016-03-30 09:48:33 -07:00
parent b05d86c150
commit 7d16438a19
1 changed files with 12 additions and 9 deletions

View File

@ -79,6 +79,7 @@ public abstract class DefaultOutputModelFactory extends BlankOutputModelFactory
@Override
public List<SrcOp> rulePostamble(RuleFunction function, Rule r) {
if ( r.namedActions.containsKey("after") || r.namedActions.containsKey("finally") ) {
// See OutputModelController.buildLeftRecursiveRuleFunction
// and Parser.exitRule for other places which set stop.
CodeGenerator gen = getGenerator();
@ -89,6 +90,8 @@ public abstract class DefaultOutputModelFactory extends BlankOutputModelFactory
ops.add(setStopTokenAction);
return ops;
}
return super.rulePostamble(function, r);
}
// Convenience methods