protected boolean hasParameterizedRules(final Grammar grammar) { List<ParserRule> _allParserRules = GrammarUtil.allParserRules(grammar); for (final ParserRule rule : _allParserRules) { boolean _isEmpty = rule.getParameters().isEmpty(); boolean _not = (!_isEmpty); if (_not) { return true; } } return false; }
/** * @since 2.9 */ public static String getDefaultArgumentList(ParserRule rule) { String result = IterableExtensions.join(rule.getParameters(), "[", ", ", "]", new Functions.Function1<Parameter, String>() { @Override public String apply(Parameter p) { return Boolean.FALSE.toString(); } }); return result; }
/** * @since 2.9 */ public static String getParameterList(ParserRule rule, Boolean skipCurrent, String currentType) { boolean currentAsParam = rule.isFragment() && !GrammarUtil.isDatatypeRule(getOriginalElement(rule)); if ((skipCurrent || !currentAsParam) && rule.getParameters().isEmpty()) { return ""; } StringBuilder result = new StringBuilder(); result.append("["); if (!skipCurrent) { if (currentAsParam) { result.append(currentType).append(" in_current"); if (!rule.getParameters().isEmpty()) { result.append(", "); } } } Joiner.on(", ").appendTo(result, Iterables.transform(rule.getParameters(), new Function<Parameter, String>() { @Override public String apply(Parameter input) { return "boolean p_" + input.getName(); } })); result.append("] "); return result.toString(); }
Joiner.on(", ").appendTo(result, Iterables.transform(rule.getParameters(), new Function<Parameter, String>() { @Override public String apply(Parameter input) {
/** * Returns the invocation of a ParserRule Parameter as Java expression. */ public String gaRuleParameterAccessor(final Parameter parameter) { final ParserRule rule = GrammarUtil.containingParserRule(parameter); final int index = rule.getParameters().indexOf(parameter); String _gaRuleAccessor = this.gaRuleAccessor(rule); String _plus = (_gaRuleAccessor + ".getParameters().get("); String _plus_1 = (_plus + Integer.valueOf(index)); String _plus_2 = (_plus_1 + "/*"); String _name = parameter.getName(); String _plus_3 = (_plus_2 + _name); return (_plus_3 + "*/)"); }
protected CharSequence paramConfig(final AbstractElement it) { StringConcatenation _builder = new StringConcatenation(); { if ((((GrammarUtil.containingRule(it).getAlternatives() == it) && ParserRule.class.isInstance(GrammarUtil.containingRule(it))) && (!((ParserRule) AntlrGrammarGenUtil.<AbstractRule>getOriginalElement(GrammarUtil.containingRule(it))).getParameters().isEmpty()))) { _builder.append(", "); AbstractRule _containingRule = GrammarUtil.containingRule(it); int _parameterConfig = AntlrGrammarGenUtil.getParameterConfig(((ParserRule) _containingRule)); _builder.append(_parameterConfig); _builder.newLineIfNotEmpty(); } } return _builder; }