/** * @since 2.14 */ protected String[][] getRuleNamesInGroup(Param param, AbstractElement elementToParse, String adjustedFirstRule, String adjustedSecondRule) { if (GrammarUtil.isMultipleCardinality(elementToParse)) return new String[][] { { adjustedFirstRule }, { adjustedFirstRule, adjustedSecondRule } }; return new String[][] { { adjustedFirstRule, adjustedSecondRule } }; }
public boolean isMany(AbstractElement ele) { return GrammarUtil.isMultipleCardinality(ele); }
protected ConstraintElement(EObject context, ConstraintElementType type, AbstractElement element) { this(context, type, element, type != ConstraintElementType.ASSIGNED_ACTION_CALL && GrammarUtil.isMultipleCardinality(element), type != ConstraintElementType.ASSIGNED_ACTION_CALL && GrammarUtil.isOptionalCardinality(element)); }
@Override public List<String> caseKeyword(Keyword object) { if (GrammarUtil.isMultipleCardinality(object)) { return Collections.emptyList(); } if (GrammarUtil.isOptionalCardinality(object)) { return Lists.newArrayList("", object.getValue()); } return Lists.newArrayList(object.getValue()); } @Override
@Override public Boolean caseAbstractElement(AbstractElement object) { if (!checkFurther(object)) return result; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; } return Boolean.FALSE; }
@Override public List<String> caseAssignment(Assignment object) { if (GrammarUtil.isMultipleCardinality(object)) { return Collections.emptyList(); } List<String> nested = doSwitch(object.getTerminal()); if (GrammarUtil.isOptionalCardinality(object)) { if (nested.isEmpty()) { return Collections.emptyList(); } nested.add(""); } return nested; } @Override
@Override public Boolean caseAbstractElement(AbstractElement object) { if (!checkFurther(object)) return result; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; } return Boolean.FALSE; }
public boolean isMany(AbstractElement element) { return GrammarUtil.isMultipleCardinality(element) || ((element.eContainer() instanceof AbstractElement) && isMany((AbstractElement) element .eContainer())); }
@Override public Boolean caseCompoundElement(CompoundElement object) { Multimap<String, AbstractElement> prevAssignedFeatures = newMultimap(assignedFeatures); for (AbstractElement element : object.getElements()) { doSwitch(element); } if (GrammarUtil.isMultipleCardinality(object)) { for (AbstractElement element : object.getElements()) { doSwitch(element); } } if (GrammarUtil.isOptionalCardinality(object)) assignedFeatures.putAll(prevAssignedFeatures); return Boolean.FALSE; }
@Override public Boolean caseAssignment(Assignment object) { if (GrammarUtil.isMultipleAssignment(object)) return Boolean.FALSE; checkAssignment(object, object.getFeature()); if (GrammarUtil.isMultipleCardinality(object)) checkAssignment(object, object.getFeature()); return Boolean.FALSE; }
@Override public Boolean caseAlternatives(Alternatives object) { if (!checkFurther(object)) return result; if (caseAlternatives(object.getElements())) return true; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; return caseAlternatives(object.getElements()); } return Boolean.FALSE; }
@Override public Boolean caseAlternatives(Alternatives object) { if (!checkFurther(object)) return result; if (caseAlternatives(object.getElements())) return true; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; return caseAlternatives(object.getElements()); } return Boolean.FALSE; }
@Override public Boolean caseCrossReference(CrossReference object) { if (!checkFurther(object)) return result; if (doSwitch(object.getTerminal())) return true; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; if (doSwitch(object.getTerminal())) return true; } return Boolean.FALSE; }
@Override public Boolean caseRuleCall(RuleCall object) { if (!checkFurther(object)) return result; if (doSwitch(object.getRule())) return true; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; if (doSwitch(object.getRule())) return true; } return Boolean.FALSE; }
@Override public Boolean caseRuleCall(RuleCall object) { if (!checkFurther(object)) return result; if (doSwitch(object.getRule())) return true; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; if (doSwitch(object.getRule())) return true; } return Boolean.FALSE; }
@Override public Boolean caseAssignment(Assignment object) { if (!checkFurther(object)) return result; if (doSwitch(object.getTerminal())) return true; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; if (doSwitch(object.getTerminal())) return true; } return Boolean.FALSE; }
@Override public Boolean caseAssignment(Assignment object) { if (!checkFurther(object)) return result; if (doSwitch(object.getTerminal())) return true; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; if (doSwitch(object.getTerminal())) return true; } return Boolean.FALSE; }
@Override public Boolean caseCrossReference(CrossReference object) { if (!checkFurther(object)) return result; if (doSwitch(object.getTerminal())) return true; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; if (doSwitch(object.getTerminal())) return true; } return Boolean.FALSE; }
@Override public Boolean caseGroup(Group object) { if (!checkFurther(object)) return result; for (AbstractElement token : object.getElements()) if (doSwitch(token)) return true; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; for (AbstractElement token : object.getElements()) if (doSwitch(token)) return true; } return false; }
@Override public Boolean caseGroup(Group object) { if (!checkFurther(object)) return result; for (AbstractElement token : object.getElements()) if (doSwitch(token)) return true; if (GrammarUtil.isMultipleCardinality(object)) { if (!checkFurther(object)) return result; for (AbstractElement token : object.getElements()) if (doSwitch(token)) return true; } return false; }