public class org.antlr.v4.automata.TailEpsilonRemover extends org.antlr.v4.automata.ATNVisitor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.antlr.v4.automata.TailEpsilonRemover
super_class: org.antlr.v4.automata.ATNVisitor
{
private final org.antlr.v4.runtime.atn.ATN _atn;
descriptor: Lorg/antlr/v4/runtime/atn/ATN;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.antlr.v4.runtime.atn.ATN);
descriptor: (Lorg/antlr/v4/runtime/atn/ATN;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.antlr.v4.automata.TailEpsilonRemover this
start local 1 // org.antlr.v4.runtime.atn.ATN atn
0: .line 26
aload 0 /* this */
invokespecial org.antlr.v4.automata.ATNVisitor.<init>:()V
1: .line 27
aload 0 /* this */
aload 1 /* atn */
putfield org.antlr.v4.automata.TailEpsilonRemover._atn:Lorg/antlr/v4/runtime/atn/ATN;
2: .line 28
return
end local 1 // org.antlr.v4.runtime.atn.ATN atn
end local 0 // org.antlr.v4.automata.TailEpsilonRemover this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/antlr/v4/automata/TailEpsilonRemover;
0 3 1 atn Lorg/antlr/v4/runtime/atn/ATN;
MethodParameters:
Name Flags
atn
public void visitState(org.antlr.v4.runtime.atn.ATNState);
descriptor: (Lorg/antlr/v4/runtime/atn/ATNState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 // org.antlr.v4.automata.TailEpsilonRemover this
start local 1 // org.antlr.v4.runtime.atn.ATNState p
0: .line 32
aload 1 /* p */
invokevirtual org.antlr.v4.runtime.atn.ATNState.getStateType:()I
iconst_1
if_icmpne 14
aload 1 /* p */
invokevirtual org.antlr.v4.runtime.atn.ATNState.getNumberOfTransitions:()I
iconst_1
if_icmpne 14
1: .line 33
aload 1 /* p */
iconst_0
invokevirtual org.antlr.v4.runtime.atn.ATNState.transition:(I)Lorg/antlr/v4/runtime/atn/Transition;
getfield org.antlr.v4.runtime.atn.Transition.target:Lorg/antlr/v4/runtime/atn/ATNState;
astore 2 /* q */
start local 2 // org.antlr.v4.runtime.atn.ATNState q
2: .line 34
aload 1 /* p */
iconst_0
invokevirtual org.antlr.v4.runtime.atn.ATNState.transition:(I)Lorg/antlr/v4/runtime/atn/Transition;
instanceof org.antlr.v4.runtime.atn.RuleTransition
ifeq 4
3: .line 35
aload 1 /* p */
iconst_0
invokevirtual org.antlr.v4.runtime.atn.ATNState.transition:(I)Lorg/antlr/v4/runtime/atn/Transition;
checkcast org.antlr.v4.runtime.atn.RuleTransition
getfield org.antlr.v4.runtime.atn.RuleTransition.followState:Lorg/antlr/v4/runtime/atn/ATNState;
astore 2 /* q */
4: .line 37
StackMap locals: org.antlr.v4.runtime.atn.ATNState
StackMap stack:
aload 2 /* q */
invokevirtual org.antlr.v4.runtime.atn.ATNState.getStateType:()I
iconst_1
if_icmpne 14
5: .line 41
aload 2 /* q */
iconst_0
invokevirtual org.antlr.v4.runtime.atn.ATNState.transition:(I)Lorg/antlr/v4/runtime/atn/Transition;
astore 3 /* trans */
start local 3 // org.antlr.v4.runtime.atn.Transition trans
6: .line 42
aload 2 /* q */
invokevirtual org.antlr.v4.runtime.atn.ATNState.getNumberOfTransitions:()I
iconst_1
if_icmpne 14
aload 3 /* trans */
instanceof org.antlr.v4.runtime.atn.EpsilonTransition
ifeq 14
7: .line 43
aload 3 /* trans */
getfield org.antlr.v4.runtime.atn.Transition.target:Lorg/antlr/v4/runtime/atn/ATNState;
astore 4 /* r */
start local 4 // org.antlr.v4.runtime.atn.ATNState r
8: .line 44
aload 4 /* r */
instanceof org.antlr.v4.runtime.atn.BlockEndState
ifne 9
aload 4 /* r */
instanceof org.antlr.v4.runtime.atn.PlusLoopbackState
ifne 9
aload 4 /* r */
instanceof org.antlr.v4.runtime.atn.StarLoopbackState
ifeq 14
9: .line 46
StackMap locals: org.antlr.v4.runtime.atn.Transition org.antlr.v4.runtime.atn.ATNState
StackMap stack:
aload 1 /* p */
iconst_0
invokevirtual org.antlr.v4.runtime.atn.ATNState.transition:(I)Lorg/antlr/v4/runtime/atn/Transition;
instanceof org.antlr.v4.runtime.atn.RuleTransition
ifeq 12
10: .line 47
aload 1 /* p */
iconst_0
invokevirtual org.antlr.v4.runtime.atn.ATNState.transition:(I)Lorg/antlr/v4/runtime/atn/Transition;
checkcast org.antlr.v4.runtime.atn.RuleTransition
aload 4 /* r */
putfield org.antlr.v4.runtime.atn.RuleTransition.followState:Lorg/antlr/v4/runtime/atn/ATNState;
11: .line 48
goto 13
12: .line 50
StackMap locals:
StackMap stack:
aload 1 /* p */
iconst_0
invokevirtual org.antlr.v4.runtime.atn.ATNState.transition:(I)Lorg/antlr/v4/runtime/atn/Transition;
aload 4 /* r */
putfield org.antlr.v4.runtime.atn.Transition.target:Lorg/antlr/v4/runtime/atn/ATNState;
13: .line 52
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.antlr.v4.automata.TailEpsilonRemover._atn:Lorg/antlr/v4/runtime/atn/ATN;
aload 2 /* q */
invokevirtual org.antlr.v4.runtime.atn.ATN.removeState:(Lorg/antlr/v4/runtime/atn/ATNState;)V
end local 4 // org.antlr.v4.runtime.atn.ATNState r
end local 3 // org.antlr.v4.runtime.atn.Transition trans
end local 2 // org.antlr.v4.runtime.atn.ATNState q
14: .line 57
StackMap locals:
StackMap stack:
return
end local 1 // org.antlr.v4.runtime.atn.ATNState p
end local 0 // org.antlr.v4.automata.TailEpsilonRemover this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/antlr/v4/automata/TailEpsilonRemover;
0 15 1 p Lorg/antlr/v4/runtime/atn/ATNState;
2 14 2 q Lorg/antlr/v4/runtime/atn/ATNState;
6 14 3 trans Lorg/antlr/v4/runtime/atn/Transition;
8 14 4 r Lorg/antlr/v4/runtime/atn/ATNState;
MethodParameters:
Name Flags
p
}
SourceFile: "TailEpsilonRemover.java"