fixed uninitialized hoisting processer

moved init before generateFile
used flattenedGrammar instead of original grammar (it)
This commit is contained in:
overflowerror 2021-12-14 15:13:35 +01:00
parent 94a3601dff
commit 45d2df5c33
2 changed files with 2 additions and 3 deletions

View file

@ -69,12 +69,11 @@ abstract class AbstractAntlrGrammarGenerator {
val RuleNames ruleNames = RuleNames.getRuleNames(it, true); val RuleNames ruleNames = RuleNames.getRuleNames(it, true);
val Grammar flattened = new FlattenedGrammarAccess(ruleNames, filter).getFlattenedGrammar(); val Grammar flattened = new FlattenedGrammarAccess(ruleNames, filter).getFlattenedGrammar();
new CombinedGrammarMarker(combinedGrammar).attachToEmfObject(flattened) new CombinedGrammarMarker(combinedGrammar).attachToEmfObject(flattened)
init(flattened)
fsa.generateFile(grammarNaming.getParserGrammar(it).grammarFileName, flattened.compileParser(options)) fsa.generateFile(grammarNaming.getParserGrammar(it).grammarFileName, flattened.compileParser(options))
if (!isCombinedGrammar) { if (!isCombinedGrammar) {
fsa.generateFile(grammarNaming.getLexerGrammar(it).grammarFileName, flattened.compileLexer(options)) fsa.generateFile(grammarNaming.getLexerGrammar(it).grammarFileName, flattened.compileLexer(options))
} }
init
} }
protected def isCombinedGrammar() { protected def isCombinedGrammar() {

View file

@ -92,13 +92,13 @@ public abstract class AbstractAntlrGrammarGenerator {
final Grammar flattened = new FlattenedGrammarAccess(ruleNames, filter).getFlattenedGrammar(); final Grammar flattened = new FlattenedGrammarAccess(ruleNames, filter).getFlattenedGrammar();
boolean _isCombinedGrammar = this.isCombinedGrammar(); boolean _isCombinedGrammar = this.isCombinedGrammar();
new CombinedGrammarMarker(_isCombinedGrammar).attachToEmfObject(flattened); new CombinedGrammarMarker(_isCombinedGrammar).attachToEmfObject(flattened);
this._hoistingProcessor.init(flattened);
fsa.generateFile(this.getGrammarNaming().getParserGrammar(it).getGrammarFileName(), this.compileParser(flattened, options)); fsa.generateFile(this.getGrammarNaming().getParserGrammar(it).getGrammarFileName(), this.compileParser(flattened, options));
boolean _isCombinedGrammar_1 = this.isCombinedGrammar(); boolean _isCombinedGrammar_1 = this.isCombinedGrammar();
boolean _not = (!_isCombinedGrammar_1); boolean _not = (!_isCombinedGrammar_1);
if (_not) { if (_not) {
fsa.generateFile(this.getGrammarNaming().getLexerGrammar(it).getGrammarFileName(), this.compileLexer(flattened, options)); fsa.generateFile(this.getGrammarNaming().getLexerGrammar(it).getGrammarFileName(), this.compileLexer(flattened, options));
} }
this._hoistingProcessor.init(it);
} }
protected boolean isCombinedGrammar() { protected boolean isCombinedGrammar() {