/** * AD 08/13 : Workaround for a bug manifesting itself as an infinite * recursion over an AlternativesImpl element. The choice here is to allow * for 10 occurrences of the element to be computed and then fall back to * the caller. */ @Override protected void computeFollowElements(final FollowElementCalculator calculator, final FollowElement element, final Multimap<Integer, List<AbstractElement>> visited) { if (stop) { return; } final AbstractElement e = element.getGrammarElement(); if (!recurse.containsKey(e)) { recurse.put(e, 1); } else { recurse.put(e, recurse.get(e) + 1); } if (recurse.get(e) > 3) { GAMA.getGui().debug("Infinite recursion detected in completion proposal for " + e); stop = true; recurse.clear(); return; } // scope.getGui().debug(" Computing FollowElement -- + visited : " + // element + // " ; number of times : " + recurse.get(e)); super.computeFollowElements(calculator, element, visited); }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { if (rule == null || rule.eIsProxy()) return Collections.emptyList(); String methodName = "entryRule" + rule.getName(); PolymorphicDispatcher<Collection<FollowElement>> dispatcher = new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser)); dispatcher.invoke(); return parser.getFollowElements(); }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { org.ioicompanies.lang.ui.contentassist.antlr.internal.InternalIOIParser typedParser = (org.ioicompanies.lang.ui.contentassist.antlr.internal.InternalIOIParser) parser; typedParser.entryRuleModel(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { org.eclipse.gemoc.gexpressions.xtext.ui.contentassist.antlr.internal.InternalGExpressionsParser typedParser = (org.eclipse.gemoc.gexpressions.xtext.ui.contentassist.antlr.internal.InternalGExpressionsParser) parser; typedParser.entryRuleGProgram(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { xtext.ui.contentassist.antlr.internal.InternalQueryITParser typedParser = (xtext.ui.contentassist.antlr.internal.InternalQueryITParser) parser; typedParser.entryRuleSurvey(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { jasonide.xtext.mas2j.ui.contentassist.antlr.internal.InternalMas2jParser typedParser = (jasonide.xtext.mas2j.ui.contentassist.antlr.internal.InternalMas2jParser) parser; typedParser.entryRuleMas2jModel(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { jasonide.xtext.asl.ui.contentassist.antlr.internal.InternalAslParser typedParser = (jasonide.xtext.asl.ui.contentassist.antlr.internal.InternalAslParser) parser; typedParser.entryRuleAgent(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { com.avaloq.tools.ddk.xtext.valid.ui.contentassist.antlr.internal.InternalValidParser typedParser = (com.avaloq.tools.ddk.xtext.valid.ui.contentassist.antlr.internal.InternalValidParser) parser; typedParser.entryRuleValidModel(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { com.avaloq.tools.ddk.xtext.format.ui.contentassist.antlr.internal.InternalFormatParser typedParser = (com.avaloq.tools.ddk.xtext.format.ui.contentassist.antlr.internal.InternalFormatParser) parser; typedParser.entryRuleFormatConfiguration(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { com.avaloq.tools.ddk.check.ui.contentassist.antlr.internal.InternalTestLanguageParser typedParser = (com.avaloq.tools.ddk.check.ui.contentassist.antlr.internal.InternalTestLanguageParser) parser; typedParser.entryRuleModel(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { com.avaloq.tools.ddk.xtext.export.ui.contentassist.antlr.internal.InternalExportParser typedParser = (com.avaloq.tools.ddk.xtext.export.ui.contentassist.antlr.internal.InternalExportParser) parser; typedParser.entryRuleExportModel(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { com.avaloq.tools.ddk.xtext.scope.ui.contentassist.antlr.internal.InternalScopeParser typedParser = (com.avaloq.tools.ddk.xtext.scope.ui.contentassist.antlr.internal.InternalScopeParser) parser; typedParser.entryRuleScopeModel(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { com.avaloq.tools.ddk.xtext.expression.ui.contentassist.antlr.internal.InternalExpressionParser typedParser = (com.avaloq.tools.ddk.xtext.expression.ui.contentassist.antlr.internal.InternalExpressionParser) parser; typedParser.entryRuleExpression(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { com.avaloq.tools.ddk.check.ui.contentassist.antlr.internal.InternalCheckParser typedParser = (com.avaloq.tools.ddk.check.ui.contentassist.antlr.internal.InternalCheckParser) parser; typedParser.entryRuleCheckCatalog(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { com.avaloq.tools.ddk.checkcfg.ui.contentassist.antlr.internal.InternalCheckCfgParser typedParser = (com.avaloq.tools.ddk.checkcfg.ui.contentassist.antlr.internal.InternalCheckCfgParser) parser; typedParser.entryRuleCheckConfiguration(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { org.bbaw.bts.corpus.text.egy.ui.contentassist.antlr.internal.InternalEgyDslParser typedParser = (org.bbaw.bts.corpus.text.egy.ui.contentassist.antlr.internal.InternalEgyDslParser) parser; typedParser.entryRuleTextContent(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { org.xtext.example.statemachine.ui.contentassist.antlr.internal.InternalStatemachineParser typedParser = (org.xtext.example.statemachine.ui.contentassist.antlr.internal.InternalStatemachineParser) parser; typedParser.entryRuleStatemachine(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { org.scribble.editor.dsl.ui.contentassist.antlr.internal.InternalScribbleDslParser typedParser = (org.scribble.editor.dsl.ui.contentassist.antlr.internal.InternalScribbleDslParser) parser; typedParser.entryRuleModule(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { org.scribble.trace.editor.dsl.ui.contentassist.antlr.internal.InternalScribbleTraceDslParser typedParser = (org.scribble.trace.editor.dsl.ui.contentassist.antlr.internal.InternalScribbleTraceDslParser) parser; typedParser.entryRuleTrace(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { if (entryRule == null) return super.getFollowElements(parser); try { InternalSTextParser typedParser = (InternalSTextParser) parser; Method method = typedParser.getClass().getMethod(ENTRY_RULE + entryRule); method.invoke(typedParser); return typedParser.getFollowElements(); } catch (Exception ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { fr.inria.diverse.melange.ui.contentassist.antlr.internal.InternalMelangeParser typedParser = (fr.inria.diverse.melange.ui.contentassist.antlr.internal.InternalMelangeParser) parser; typedParser.entryRuleModelTypingSpace(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { com.lowcoupling.lng.plan.ui.contentassist.antlr.internal.InternalPlanParser typedParser = (com.lowcoupling.lng.plan.ui.contentassist.antlr.internal.InternalPlanParser) parser; typedParser.entryRuleProgram(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { edu.byu.ee.phdl.ui.contentassist.antlr.internal.InternalPhdlParser typedParser = (edu.byu.ee.phdl.ui.contentassist.antlr.internal.InternalPhdlParser) parser; typedParser.entryRulePhdlModel(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { br.ufpe.cin.ui.contentassist.antlr.internal.InternalTupiParser typedParser = (br.ufpe.cin.ui.contentassist.antlr.internal.InternalTupiParser) parser; typedParser.entryRuleModel(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }
@Override protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { try { cruise.umple.ui.contentassist.antlr.internal.InternalUmpleParser typedParser = (cruise.umple.ui.contentassist.antlr.internal.InternalUmpleParser) parser; typedParser.entryRuleModel(); return typedParser.getFollowElements(); } catch(RecognitionException ex) { throw new RuntimeException(ex); } }