/** * @since 2.0 */ public static boolean isAssignedEObjectRuleCall(EObject ele) { if (!isEObjectRuleCall(ele)) return false; return GrammarUtil.containingAssignment(ele) != null; }
/** * @since 2.0 */ public static boolean isUnassignedEObjectRuleCall(EObject ele) { if (!isEObjectRuleCall(ele)) return false; return GrammarUtil.containingAssignment(ele) == null; }
private boolean isUnassignedRuleCall(final RuleCall c) { boolean _isEObjectRuleCall = GrammarUtil.isEObjectRuleCall(c); if (_isEObjectRuleCall) { return false; } final Assignment ass = GrammarUtil.containingAssignment(c); return ((ass == null) || GrammarUtil.isBooleanAssignment(ass)); }
protected Iterable<AbstractElement> getEObjectElements(final AbstractRule rule) { final Function1<AbstractElement, Boolean> _function = (AbstractElement element) -> { boolean _switchResult = false; boolean _matched = false; if (element instanceof Action) { _matched=true; } if (!_matched) { if (element instanceof RuleCall) { boolean _isEObjectRuleCall = GrammarUtil.isEObjectRuleCall(element); if (_isEObjectRuleCall) { _matched=true; } } } if (_matched) { _switchResult = true; } if (!_matched) { _switchResult = false; } return Boolean.valueOf(_switchResult); }; return IterableExtensions.<AbstractElement>filter(EcoreUtil2.<AbstractElement>eAllOfType(rule, AbstractElement.class), _function); }
protected String getToken(RuleCall rc, Object value, INode node) { CrossReference crossRef = GrammarUtil.containingCrossReference(rc); Assignment assignment = GrammarUtil.containingAssignment(rc); if (crossRef != null) return provider.crossRefSerializer.serializeCrossRef(semanticObject, crossRef, (EObject) value, node, errorAcceptor); else if (GrammarUtil.isEObjectRuleCall(rc) || GrammarUtil.isBooleanAssignment(assignment)) return null; else if (GrammarUtil.isEnumRuleCall(rc)) return provider.enumLiteralSerializer.serializeAssignedEnumLiteral(semanticObject, rc, value, node, errorAcceptor); else return provider.valueSerializer.serializeAssignedValue(semanticObject, rc, value, node, errorAcceptor); } }
EObject siblingGrammarElement = sibling.getGrammarElement(); if (siblingGrammarElement != null && GrammarUtil.containingAssignment(siblingGrammarElement) == null) { if (GrammarUtil.isEObjectRuleCall(siblingGrammarElement)) return findActualSemanticObjectFor(sibling);
protected Triple<INode, AbstractElement, EObject> findNext(INode node, boolean prune) { INode current = next(node, prune); while (current != null) { if (current instanceof ILeafNode && ((ILeafNode) current).isHidden()) { current = next(current, true); continue; } EObject ge = current.getGrammarElement(); if (ge instanceof AbstractElement && isEObjectNode(current)) return Tuples.create(current, (AbstractElement) ge, getEObjectNodeEObject(current)); else if (GrammarUtil.isAssigned(ge) && !GrammarUtil.isEObjectRuleCall(ge)) { if (ge instanceof CrossReference) return Tuples.create(current, ((CrossReference) ge).getTerminal(), null); else return Tuples.create(current, (AbstractElement) ge, null); } else current = next(current, false); } return null; }