@Override public Iterable<AbstractElement> getFollowers(AbstractElement element) { Set<AbstractElement> result = Sets.newLinkedHashSet(); for (AbstractElement ele : super.getFollowers(element)) if (ele == null) result.add(null); else if (!GrammarUtil.isAssignedAction(ele)) result.add(ele); return result; }
@Override public Iterable<AbstractElement> getFollowers(AbstractElement element) { Set<AbstractElement> result = Sets.newLinkedHashSet(); for (AbstractElement ele : super.getFollowers(element)) if (ele == null) { } else if (actionCtx == ele) result.add(null); else if (!GrammarUtil.isAssignedAction(ele)) result.add(ele); return result; }
protected boolean isMandatoryAbsorber(AbstractElement ele) { if (ele == null) return true; if (GrammarUtil.isAssigned(ele)) return true; if (GrammarUtil.isAssignedAction(ele)) return true; // if (GrammarUtil.isDatatypeRuleCall(ele)) // return true; return false; }
public List<EObject> getAllContexts(Grammar grammar) { List<EObject> result = Lists.newArrayList(); for (ParserRule pr : GrammarUtil.allParserRules(grammar)) if (GrammarUtil.isEObjectRule(pr)) { result.add(pr); for (Action action : GrammarUtil.containedActions(pr)) if (GrammarUtil.isAssignedAction(action)) result.add(action); } return result; }
@Override public Iterable<AbstractElement> getStarts(AbstractElement root) { Set<AbstractElement> result = Sets.newLinkedHashSet(); for (Action act : GrammarUtil.containedActions(root)) if (act.getFeature() != null) result.add(act); for (AbstractElement ele : super.getStarts(root)) if (ele == null) result.add(null); else if (!GrammarUtil.isAssignedAction(ele)) result.add(ele); return result; }
@Override public Iterable<AbstractElement> getStarts(AbstractElement root) { Set<AbstractElement> result = Sets.newLinkedHashSet(); for (Action act : GrammarUtil.containedActions(root)) if (act.getFeature() != null) result.add(act); for (AbstractElement ele : super.getStarts(root)) if (ele == null) { } else if (actionCtx == ele) { result.add(null); } else if (!GrammarUtil.isAssignedAction(ele)) result.add(ele); return result; }
public String getContextName(EObject ctx) { if (GrammarUtil.isEObjectRule(ctx)) return getContextName((ParserRule) ctx); if (GrammarUtil.isAssignedAction(ctx)) return getContextName((Action) ctx); throw new RuntimeException("Invalid Context: " + EmfFormatter.objPath(ctx)); }
protected ConstraintElement createConstraintElement(EObject context, ActionFilterState state, EClass requiredType, boolean allowLocal, Set<Object> visited) { if (allowLocal && GrammarUtil.isAssignedAction(state.getGrammarElement())) { if (((Action) state.getGrammarElement()).getType().getClassifier() == requiredType) { ConstraintElement result = new ConstraintElement(context, ConstraintElementType.ASSIGNED_ACTION_CALL,