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; }
protected boolean isAbsorber(INode node) { return node.getGrammarElement() != null && GrammarUtil.isAssigned(node.getGrammarElement()); }
protected boolean isEObjectNode(INode node) { if (node.getGrammarElement() instanceof AbstractRule) return true; if (node.getGrammarElement() instanceof Action) return true; if (GrammarUtil.isAssignedEObjectRuleCall(node.getGrammarElement())) { if (node.hasDirectSemanticElement()) return true; AbstractRule rule = ((RuleCall) node.getGrammarElement()).getRule(); node = node.getParent(); while (node != null) { if (GrammarUtil.isAssigned(node.getGrammarElement())) return true; if (node.getGrammarElement() instanceof Action && GrammarUtil.containingRule(node.getGrammarElement()) == rule) return false; node = node.getParent(); } return true; } return false; }
@Override public AbstractElement getCall(AbstractElement ele) { if (ele instanceof RuleCall && !GrammarUtil.isAssigned(ele) && ((RuleCall) ele).getRule().getType().getClassifier() instanceof EClass) return ((RuleCall) ele).getRule().getAlternatives(); return null; }
@Check public void checkRuleCallInUnorderedGroup(final RuleCall call) { if (call.getRule() == null || call.getRule().eIsProxy() || !(call.getRule() instanceof ParserRule)) return; if (GrammarUtil.isDatatypeRule((ParserRule) call.getRule())) return; if (GrammarUtil.isAssigned(call)) return; if (EcoreUtil2.getContainerOfType(call, UnorderedGroup.class) != null) error( "Unassigned rule calls may not be used in unordered groups.", call, null, ValidationMessageAcceptor.INSIGNIFICANT_INDEX, null); }
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; }
if (!GrammarUtil.isAssigned(ele)) { if (ele instanceof Keyword) return true;
boolean _matched = false; if (_rule instanceof EnumRule) { boolean _isAssigned = GrammarUtil.isAssigned(it); if (_isAssigned) { _matched=true; boolean _isAssigned = GrammarUtil.isAssigned(it); if (_isAssigned) { _matched=true;
} else { String _xifexpression_1 = null; boolean _isAssigned = GrammarUtil.isAssigned(it); if (_isAssigned) { StringConcatenation _builder = new StringConcatenation();
boolean _matched = false; if (_rule instanceof EnumRule) { boolean _isAssigned = GrammarUtil.isAssigned(it); if (_isAssigned) { _matched=true; boolean _isAssigned = GrammarUtil.isAssigned(it); if (_isAssigned) { _matched=true;
} else { String _xifexpression_1 = null; boolean _isAssigned = GrammarUtil.isAssigned(it); if (_isAssigned) { StringConcatenation _builder = new StringConcatenation();
boolean _matched = false; if (rule instanceof EnumRule) { boolean _isAssigned = GrammarUtil.isAssigned(it); if (_isAssigned) { _matched=true; boolean _isAssigned = GrammarUtil.isAssigned(it); if (_isAssigned) { _matched=true;
boolean _matched = false; if (_rule instanceof EnumRule) { boolean _isAssigned = GrammarUtil.isAssigned(it); if (_isAssigned) { _matched=true; boolean _isAssigned = GrammarUtil.isAssigned(it); if (_isAssigned) { _matched=true;