boolean treatEofAsEpsilon) switch (t.getSerializationType()) { case Transition.RULE: return ruleTransition(config, (RuleTransition)t);
switch (transition.getSerializationType()) { case Transition.EPSILON: if ( p.getStateType()==ATNState.STAR_LOOP_ENTRY &&
switch (t.getSerializationType()) { case Transition.RULE: RuleTransition ruleTransition = (RuleTransition)t;
if (t.getSerializationType() != Transition.EPSILON) { return false;
if (transition.getSerializationType() != Transition.EPSILON) { continue;
protected final ParserRuleContext skipTailCalls(ParserRuleContext context) { if (!optimize_tail_calls) { return context; } while (!context.isEmpty()) { ATNState state = atn.states.get(context.invokingState); assert state.getNumberOfTransitions() == 1 && state.transition(0).getSerializationType() == Transition.RULE; RuleTransition transition = (RuleTransition)state.transition(0); if (!transition.tailCall) { break; } context = context.getParent(); } return context; }
private RuleRelations extractRuleRelations(TypeMirror recognizer) { String serializedATN = getSerializedATN(recognizer); if (serializedATN == null) { return null; } ATN atn = new ATNDeserializer().deserialize(serializedATN.toCharArray()); RuleRelations relations = new RuleRelations(atn.ruleToStartState.length); for (ATNState state : atn.states) { if (!state.epsilonOnlyTransitions) { continue; } for (Transition transition : state.getTransitions()) { if (transition.getSerializationType() != Transition.RULE) { continue; } RuleTransition ruleTransition = (RuleTransition)transition; relations.addRuleInvocation(state.ruleIndex, ruleTransition.target.ruleIndex); } } return relations; }
protected void epsilon(ATNState a, @NotNull ATNState b, boolean prepend) { for (Transition t : a.getTransitions()) { if (t.getSerializationType() != Transition.EPSILON) { continue; } if (t.target == b && ((EpsilonTransition)t).outermostPrecedenceReturn() == -1) { // This transition was already added return; } } if ( a!=null ) { int index = prepend ? 0 : a.getNumberOfTransitions(); a.addTransition(index, new EpsilonTransition(b)); } }
switch (transition.getSerializationType()) { case Transition.EPSILON: if (pushRecursionContextStates.get(p.stateNumber) && !(transition.target instanceof LoopEndState)) {
Transition transition = state.getOptimizedTransition(i); ATNState intermediate = transition.target; if (transition.getSerializationType() != Transition.EPSILON || ((EpsilonTransition)transition).outermostPrecedenceReturn() != -1 || intermediate.getStateType() != ATNState.BASIC if (intermediate.getOptimizedTransition(j).getSerializationType() != Transition.EPSILON || ((EpsilonTransition)intermediate.getOptimizedTransition(j)).outermostPrecedenceReturn() != -1)
boolean treatEofAsEpsilon) switch (t.getSerializationType()) { case Transition.RULE: return ruleTransition(config, (RuleTransition)t);
boolean treatEofAsEpsilon) switch (t.getSerializationType()) { case Transition.RULE: return ruleTransition(config, (RuleTransition)t);
boolean treatEofAsEpsilon) switch (t.getSerializationType()) { case Transition.RULE: return ruleTransition(config, (RuleTransition)t);
switch (transition.getSerializationType()) { case Transition.EPSILON: if ( pushRecursionContextStates.get(p.stateNumber) &&
switch (transition.getSerializationType()) { case Transition.EPSILON: if ( p.getStateType()==ATNState.STAR_LOOP_ENTRY &&
switch (transition.getSerializationType()) { case Transition.EPSILON: if ( p.getStateType()==ATNState.STAR_LOOP_ENTRY &&
@Nullable protected ATNConfig getEpsilonTarget(@NotNull ATNConfig config, @NotNull Transition t, boolean collectPredicates, boolean inContext, PredictionContextCache contextCache, boolean treatEofAsEpsilon) { switch (t.getSerializationType()) { case Transition.RULE: return ruleTransition(config, (RuleTransition)t, contextCache); case Transition.PRECEDENCE: return precedenceTransition(config, (PrecedencePredicateTransition)t, collectPredicates, inContext); case Transition.PREDICATE: return predTransition(config, (PredicateTransition)t, collectPredicates, inContext); case Transition.ACTION: return actionTransition(config, (ActionTransition)t); case Transition.EPSILON: return config.transform(t.target, false); case Transition.ATOM: case Transition.RANGE: case Transition.SET: // EOF transitions act like epsilon transitions after the first EOF // transition is traversed if (treatEofAsEpsilon) { if (t.matches(Token.EOF, 0, 1)) { return config.transform(t.target, false); } } return null; default: return null; } }
switch (t.getSerializationType()) { case Transition.RULE: RuleTransition ruleTransition = (RuleTransition)t;
switch (t.getSerializationType()) { case Transition.RULE: RuleTransition ruleTransition = (RuleTransition)t;
switch (t.getSerializationType()) { case Transition.RULE: RuleTransition ruleTransition = (RuleTransition)t;