for (int i = 0; i < alternatives.size(); i++) { GrammarAST alternative = alternatives.get(i); if (mode.includeUnfactoredAlts()) { GrammarAST unfactoredAlt = translateLeftFactoredAlternative(alternative.dupTree(), factoredRule, variant, DecisionFactorMode.PARTIAL_UNFACTORED, false); unfactoredAlternatives[i] = unfactoredAlt; if (factoredIntervals.isNil() && !mode.includeUnfactoredAlts()) { return false; } else if (unfactoredIntervals.isNil() && !mode.includeFactoredAlts()) { else if (factoredIntervals.isNil() && unfactoredIntervals.size() == alternatives.size() && mode.includeUnfactoredAlts()) { for (int i = 0; i < unfactoredAlternatives.length; i++) { GrammarAST translatedAlt = unfactoredAlternatives[i]; for (int i = 0; i < alternatives.size(); i++) { if (mode.includeFactoredAlts() && factoredIntervals.contains(i)) { boolean combineWithPrevious = i > 0 && factoredIntervals.contains(i - 1) && (!mode.includeUnfactoredAlts() || !unfactoredIntervals.contains(i - 1)); if (combineWithPrevious) { GrammarAST translatedAlt = factoredAlternatives[i]; if (mode.includeUnfactoredAlts() && unfactoredIntervals.contains(i)) { GrammarAST translatedAlt = unfactoredAlternatives[i]; if (translatedAlt.getChildCount() == 0) {
assert !mode.includeFactoredAlts() || !mode.includeUnfactoredAlts(); switch (ruleVariants) { case NONE: if (!mode.includeUnfactoredAlts()) { return null; case ANTLRParser.OPTIONAL: if (mode.includeUnfactoredAlts()) { return element; if (mode.includeUnfactoredAlts()) { return element; if (mode.includeUnfactoredAlts()) { return element; case ANTLRParser.NOT: if (mode.includeUnfactoredAlts()) { return element; if (mode.includeUnfactoredAlts()) { return element;