public boolean apply(RuleCall input) { return ((ParserRule) input.getRule()).isDefinesHiddenTokens(); } });
protected CharSequence _compileRestoreHiddenTokens(final ParserRule it, final AntlrOptions options) { StringConcatenation _builder = new StringConcatenation(); { boolean _isDefinesHiddenTokens = it.isDefinesHiddenTokens(); if (_isDefinesHiddenTokens) { _builder.append("myHiddenTokenState.restore();"); } } return _builder; }
@Override public AbstractRule getWhitespaceRuleFor(ParserRule context, String whitespace) { if (context == null || !context.isDefinesHiddenTokens()) return wsRule; if (context.getHiddenTokens().contains(wsRule)) return wsRule; return null; }
@Check public void checkHiddenTokenIsNotAFragment(ParserRule rule) { if (rule.isDefinesHiddenTokens()) { checkHiddenTokenIsNotAFragment(rule, rule.getHiddenTokens(), XtextPackage.Literals.PARSER_RULE__HIDDEN_TOKENS); } }
@Override public Void caseParserRule(ParserRule object) { if (usedRules.add(object)) { if (object.getAlternatives() != null) doSwitch(object.getAlternatives()); if (object.isDefinesHiddenTokens()) for(AbstractRule rule: object.getHiddenTokens()) doSwitch(rule); } return null; }
protected AbstractRule findWhitespaceRule(AbstractElement ele) { for (int i = ruleCalls.size() - 1; i >= 0; i--) { AbstractRule rule = ruleCalls.get(i).getRule(); if (rule instanceof ParserRule) { ParserRule pr = (ParserRule) rule; if (pr.isDefinesHiddenTokens()) { for (AbstractRule hidden : pr.getHiddenTokens()) if (isWhitespaceRule(hidden)) return hidden; return null; } } } if (ruleCalls.isEmpty()) return findWhitespaceRule(GrammarUtil.getGrammar(ele)); return findWhitespaceRule(GrammarUtil.getGrammar(ruleCalls.get(0))); }
protected void updateOverriddenRules(Grammar grammar, Map<String, AbstractRule> rulePerName) { if (grammar.isDefinesHiddenTokens()) { updateHiddenTokens(grammar.getHiddenTokens(), rulePerName); } for (AbstractRule rule : grammar.getRules()) { if (rule instanceof ParserRule && ((ParserRule) rule).isDefinesHiddenTokens()) { updateHiddenTokens(((ParserRule) rule).getHiddenTokens(), rulePerName); } } final List<RuleCall> allRuleCalls = EcoreUtil2.getAllContentsOfType(grammar, RuleCall.class); for (RuleCall call : allRuleCalls) { if (call.getRule() != null) { AbstractRule rule = rulePerName.get(call.getRule().getName()); if (rule != null) call.setRule(rule); } } }
protected CharSequence _compileInitHiddenTokens(final ParserRule it, final AntlrOptions options) { StringConcatenation _builder = new StringConcatenation(); { boolean _isDefinesHiddenTokens = it.isDefinesHiddenTokens(); if (_isDefinesHiddenTokens) { _builder.append("HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("); { EList<AbstractRule> _hiddenTokens = it.getHiddenTokens(); boolean _hasElements = false; for(final AbstractRule hidden : _hiddenTokens) { if (!_hasElements) { _hasElements = true; } else { _builder.appendImmediate(", ", ""); } _builder.append("\""); String _ruleName = this._grammarAccessExtensions.ruleName(hidden); _builder.append(_ruleName); _builder.append("\""); } } _builder.append(");"); } } return _builder; }
protected CharSequence compileEntryInit(final ParserRule it, final AntlrOptions options) { StringConcatenation _builder = new StringConcatenation(); { if ((it.isDefinesHiddenTokens() || this._grammarAccessExtensions.definesUnorderedGroups(it, options))) { _builder.append("@init {"); _builder.newLine(); _builder.append("\t"); CharSequence _compileInitHiddenTokens = this.compileInitHiddenTokens(it, options); _builder.append(_compileInitHiddenTokens, "\t"); _builder.newLineIfNotEmpty(); _builder.append("\t"); CharSequence _compileInitUnorderedGroups = this.compileInitUnorderedGroups(it, options); _builder.append(_compileInitUnorderedGroups, "\t"); _builder.newLineIfNotEmpty(); _builder.append("}"); } } return _builder; }
protected CharSequence compileEntryFinally(final ParserRule it, final AntlrOptions options) { StringConcatenation _builder = new StringConcatenation(); { if ((it.isDefinesHiddenTokens() || this._grammarAccessExtensions.definesUnorderedGroups(it, options))) { _builder.append("finally {"); _builder.newLine(); _builder.append("\t"); CharSequence _compileRestoreHiddenTokens = this.compileRestoreHiddenTokens(it, options); _builder.append(_compileRestoreHiddenTokens, "\t"); _builder.newLineIfNotEmpty(); _builder.append("\t"); CharSequence _compileRestoreUnorderedGroups = this.compileRestoreUnorderedGroups(it, options); _builder.append(_compileRestoreUnorderedGroups, "\t"); _builder.newLineIfNotEmpty(); _builder.append("}"); } } return _builder; }
_builder.newLineIfNotEmpty(); boolean _isDefinesHiddenTokens = it.isDefinesHiddenTokens(); if (_isDefinesHiddenTokens) { _builder.append("@init { "); _builder.newLine(); boolean _isDefinesHiddenTokens_1 = it.isDefinesHiddenTokens(); if (_isDefinesHiddenTokens_1) { _builder.append("finally {");