@Override public Boolean caseParserRule(ParserRule object) { assignedActionAllowed = !GrammarUtil.isDatatypeRule(object); return assignedActionAllowed; }
@Override public Boolean caseParserRule(ParserRule object) { isNull = GrammarUtil.isDatatypeRule(object); return isNull; }
protected boolean hasProductionRules(final Grammar grammar) { AbstractRule firstRule = grammar.getRules().get(0); return ((firstRule instanceof ParserRule) && (!GrammarUtil.isDatatypeRule(((ParserRule) firstRule)))); }
public void accept(AbstractElement element) { ParserRule rule = GrammarUtil.containingParserRule(element); if (rule == null || !GrammarUtil.isDatatypeRule(rule)) result.add(element); } };
/** * @since 2.1 */ protected boolean isElementOfDatatypeRule(final EObject grammarElement) { final AbstractRule rule = EcoreUtil2.getContainerOfType(grammarElement, AbstractRule.class); return GrammarUtil.isDatatypeRule(rule); }
@Override protected boolean canInspect(ParserRule rule) { if (GrammarUtil.isDatatypeRule(rule) || rule.getAlternatives() == null) return false; return super.canInspect(rule); }
@Override public Boolean caseParserRule(ParserRule object) { if (GrammarUtil.isDatatypeRule(object)) return Boolean.FALSE; return doSwitch(object.getAlternatives()); }
@Override public Boolean caseParserRule(ParserRule object) { if (GrammarUtil.isDatatypeRule(object)) return Boolean.FALSE; return doSwitch(object.getAlternatives()); }
protected String _crossrefEbnf(final AbstractRule it, final RuleCall call, final CrossReference ref, final boolean supportActions) { boolean _isDatatypeRule = GrammarUtil.isDatatypeRule(AntlrGrammarGenUtil.<AbstractRule>getOriginalElement(it)); if (_isDatatypeRule) { return this._grammarAccessExtensions.ruleName(it); } String _name = it.getName(); String _plus = (_name + " is not a datatype rule"); throw new IllegalArgumentException(_plus); }
public void computeFollowElements(Collection<FollowElement> followElements, final IFollowElementAcceptor followElementAcceptor) { FollowElementCalculator calculator = feCalculatorProvider.get(); calculator.acceptor = element -> { ParserRule rule = GrammarUtil.containingParserRule(element); if (rule == null || !GrammarUtil.isDatatypeRule(rule)) followElementAcceptor.accept(element); }; for(FollowElement element: followElements) { computeFollowElements(calculator, element); } }
private boolean containsAnyParserRule(Grammar g, Set<Grammar> visited) { if (!visited.add(g)) return false; for (AbstractRule rule : g.getRules()) { if (rule instanceof ParserRule && !GrammarUtil.isDatatypeRule((ParserRule) rule)) return true; } for (Grammar used : g.getUsedGrammars()) { if (containsAnyParserRule(used, visited)) return true; } return false; }
protected void lookupCrossReference(CrossReference crossReference, ContentAssistContext contentAssistContext, ICompletionProposalAcceptor acceptor, Predicate<IEObjectDescription> filter) { ParserRule containingParserRule = GrammarUtil.containingParserRule(crossReference); if (!GrammarUtil.isDatatypeRule(containingParserRule)) { EReference ref = GrammarUtil.getReference(crossReference); lookupCrossReference(crossReference, ref, contentAssistContext, acceptor, filter); } }
@Override protected boolean canInspect(ParserRule rule) { if (GrammarUtil.getGrammar(rule).getRules().get(0) != rule) return false; if (GrammarUtil.isDatatypeRule(rule) || rule.getAlternatives() == null) return false; return super.canInspect(rule); }
@Override protected boolean canInspect(ParserRule rule) { // special treatment of first rule if (GrammarUtil.getGrammar(rule).getRules().get(0) == rule) return false; if (GrammarUtil.isDatatypeRule(rule) || rule.getAlternatives() == null) return false; return super.canInspect(rule); }
protected void lookupCrossReference(CrossReference crossReference, ContentAssistContext contentAssistContext, ICompletionProposalAcceptor acceptor, Predicate<IEObjectDescription> filter, Function<IEObjectDescription, ICompletionProposal> proposalFactory) { ParserRule containingParserRule = GrammarUtil.containingParserRule(crossReference); if (!GrammarUtil.isDatatypeRule(containingParserRule)) { EReference ref = GrammarUtil.getReference(crossReference); lookupCrossReference(crossReference, ref, acceptor, filter, proposalFactory); } }
@Override public Boolean caseRuleCall(RuleCall object) { if (GrammarUtil.isOptionalCardinality(object)) return Boolean.FALSE; return object.getRule() == null || (object.getRule() instanceof ParserRule && !GrammarUtil.isDatatypeRule((ParserRule) object.getRule())); }
protected boolean isInvalidRootNode(ICompositeNode candidate) { if (candidate instanceof SyntheticCompositeNode) return true; if (candidate.getGrammarElement() instanceof RuleCall) { AbstractRule rule = ((RuleCall) candidate.getGrammarElement()).getRule(); if (!(rule instanceof ParserRule) || GrammarUtil.isDatatypeRule((ParserRule) rule)) return true; } if (candidate.getGrammarElement() instanceof Action) { return true; } return false; }
public INode getContainingDatatypeRuleNode(INode node) { INode result = node; EObject grammarElement = result.getGrammarElement(); if (grammarElement != null) { ParserRule parserRule = GrammarUtil.containingParserRule(grammarElement); while (parserRule != null && GrammarUtil.isDatatypeRule(parserRule)) { result = result.getParent(); grammarElement = result.getGrammarElement(); parserRule = GrammarUtil.containingParserRule(grammarElement); } } return result; }
@Override public Pair<Boolean, Boolean> caseRuleCall(RuleCall object) { boolean instantiated = !GrammarUtil.isOptionalCardinality(object) && ((object.getRule() == null) || (object.getRule() instanceof ParserRule && !GrammarUtil.isDatatypeRule((ParserRule) object.getRule()))); return Tuples.create(instantiated, instantiated); }
@Override public Boolean caseRuleCall(RuleCall object) { if (object.getRule() instanceof EnumRule) { } else if (object.getRule() instanceof TerminalRule || GrammarUtil.isDatatypeRule((ParserRule) object.getRule())) { if (object.eContainer() instanceof Assignment) { completeNestedAssignment((Assignment) object.eContainer(), context, acceptor); } } return Boolean.TRUE; }