public class org.antlr.v4.tool.Alternative implements org.antlr.v4.tool.AttributeResolver
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.antlr.v4.tool.Alternative
super_class: java.lang.Object
{
public org.antlr.v4.tool.Rule rule;
descriptor: Lorg/antlr/v4/tool/Rule;
flags: (0x0001) ACC_PUBLIC
public org.antlr.v4.tool.ast.AltAST ast;
descriptor: Lorg/antlr/v4/tool/ast/AltAST;
flags: (0x0001) ACC_PUBLIC
public int altNum;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public org.stringtemplate.v4.misc.MultiMap<java.lang.String, org.antlr.v4.tool.ast.TerminalAST> tokenRefs;
descriptor: Lorg/stringtemplate/v4/misc/MultiMap;
flags: (0x0001) ACC_PUBLIC
Signature: Lorg/stringtemplate/v4/misc/MultiMap<Ljava/lang/String;Lorg/antlr/v4/tool/ast/TerminalAST;>;
public org.stringtemplate.v4.misc.MultiMap<java.lang.String, org.antlr.v4.tool.ast.GrammarAST> tokenRefsInActions;
descriptor: Lorg/stringtemplate/v4/misc/MultiMap;
flags: (0x0001) ACC_PUBLIC
Signature: Lorg/stringtemplate/v4/misc/MultiMap<Ljava/lang/String;Lorg/antlr/v4/tool/ast/GrammarAST;>;
public org.stringtemplate.v4.misc.MultiMap<java.lang.String, org.antlr.v4.tool.ast.GrammarAST> ruleRefs;
descriptor: Lorg/stringtemplate/v4/misc/MultiMap;
flags: (0x0001) ACC_PUBLIC
Signature: Lorg/stringtemplate/v4/misc/MultiMap<Ljava/lang/String;Lorg/antlr/v4/tool/ast/GrammarAST;>;
public org.stringtemplate.v4.misc.MultiMap<java.lang.String, org.antlr.v4.tool.ast.GrammarAST> ruleRefsInActions;
descriptor: Lorg/stringtemplate/v4/misc/MultiMap;
flags: (0x0001) ACC_PUBLIC
Signature: Lorg/stringtemplate/v4/misc/MultiMap<Ljava/lang/String;Lorg/antlr/v4/tool/ast/GrammarAST;>;
public org.stringtemplate.v4.misc.MultiMap<java.lang.String, org.antlr.v4.tool.LabelElementPair> labelDefs;
descriptor: Lorg/stringtemplate/v4/misc/MultiMap;
flags: (0x0001) ACC_PUBLIC
Signature: Lorg/stringtemplate/v4/misc/MultiMap<Ljava/lang/String;Lorg/antlr/v4/tool/LabelElementPair;>;
public java.util.List<org.antlr.v4.tool.ast.ActionAST> actions;
descriptor: Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Signature: Ljava/util/List<Lorg/antlr/v4/tool/ast/ActionAST;>;
public void <init>(org.antlr.v4.tool.Rule, int);
descriptor: (Lorg/antlr/v4/tool/Rule;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.stringtemplate.v4.misc.MultiMap
dup
invokespecial org.stringtemplate.v4.misc.MultiMap.<init>:()V
putfield org.antlr.v4.tool.Alternative.tokenRefs:Lorg/stringtemplate/v4/misc/MultiMap;
2: aload 0
new org.stringtemplate.v4.misc.MultiMap
dup
invokespecial org.stringtemplate.v4.misc.MultiMap.<init>:()V
putfield org.antlr.v4.tool.Alternative.tokenRefsInActions:Lorg/stringtemplate/v4/misc/MultiMap;
3: aload 0
new org.stringtemplate.v4.misc.MultiMap
dup
invokespecial org.stringtemplate.v4.misc.MultiMap.<init>:()V
putfield org.antlr.v4.tool.Alternative.ruleRefs:Lorg/stringtemplate/v4/misc/MultiMap;
4: aload 0
new org.stringtemplate.v4.misc.MultiMap
dup
invokespecial org.stringtemplate.v4.misc.MultiMap.<init>:()V
putfield org.antlr.v4.tool.Alternative.ruleRefsInActions:Lorg/stringtemplate/v4/misc/MultiMap;
5: aload 0
new org.stringtemplate.v4.misc.MultiMap
dup
invokespecial org.stringtemplate.v4.misc.MultiMap.<init>:()V
putfield org.antlr.v4.tool.Alternative.labelDefs:Lorg/stringtemplate/v4/misc/MultiMap;
6: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.antlr.v4.tool.Alternative.actions:Ljava/util/List;
7: aload 0
aload 1
putfield org.antlr.v4.tool.Alternative.rule:Lorg/antlr/v4/tool/Rule;
aload 0
iload 2
putfield org.antlr.v4.tool.Alternative.altNum:I
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/antlr/v4/tool/Alternative;
0 8 1 r Lorg/antlr/v4/tool/Rule;
0 8 2 altNum I
MethodParameters:
Name Flags
r
altNum
public boolean resolvesToToken(java.lang.String, org.antlr.v4.tool.ast.ActionAST);
descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.antlr.v4.tool.Alternative.tokenRefs:Lorg/stringtemplate/v4/misc/MultiMap;
aload 1
invokevirtual org.stringtemplate.v4.misc.MultiMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.antlr.v4.tool.Alternative.getAnyLabelDef:(Ljava/lang/String;)Lorg/antlr/v4/tool/LabelElementPair;
astore 3
start local 3 2: aload 3
ifnull 3
aload 3
getfield org.antlr.v4.tool.LabelElementPair.type:Lorg/antlr/v4/tool/LabelType;
getstatic org.antlr.v4.tool.LabelType.TOKEN_LABEL:Lorg/antlr/v4/tool/LabelType;
if_acmpne 3
iconst_1
ireturn
3: StackMap locals: org.antlr.v4.tool.LabelElementPair
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/antlr/v4/tool/Alternative;
0 4 1 x Ljava/lang/String;
0 4 2 node Lorg/antlr/v4/tool/ast/ActionAST;
2 4 3 anyLabelDef Lorg/antlr/v4/tool/LabelElementPair;
MethodParameters:
Name Flags
x
node
public boolean resolvesToAttributeDict(java.lang.String, org.antlr.v4.tool.ast.ActionAST);
descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.antlr.v4.tool.Alternative.resolvesToToken:(Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Z
ifeq 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.v4.tool.Alternative.ruleRefs:Lorg/stringtemplate/v4/misc/MultiMap;
aload 1
invokevirtual org.stringtemplate.v4.misc.MultiMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 2
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.antlr.v4.tool.Alternative.getAnyLabelDef:(Ljava/lang/String;)Lorg/antlr/v4/tool/LabelElementPair;
astore 3
start local 3 3: aload 3
ifnull 4
aload 3
getfield org.antlr.v4.tool.LabelElementPair.type:Lorg/antlr/v4/tool/LabelType;
getstatic org.antlr.v4.tool.LabelType.RULE_LABEL:Lorg/antlr/v4/tool/LabelType;
if_acmpne 4
iconst_1
ireturn
4: StackMap locals: org.antlr.v4.tool.LabelElementPair
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/antlr/v4/tool/Alternative;
0 5 1 x Ljava/lang/String;
0 5 2 node Lorg/antlr/v4/tool/ast/ActionAST;
3 5 3 anyLabelDef Lorg/antlr/v4/tool/LabelElementPair;
MethodParameters:
Name Flags
x
node
public org.antlr.v4.tool.Attribute resolveToAttribute(java.lang.String, org.antlr.v4.tool.ast.ActionAST);
descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Lorg/antlr/v4/tool/Attribute;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.antlr.v4.tool.Alternative.rule:Lorg/antlr/v4/tool/Rule;
aload 1
aload 2
invokevirtual org.antlr.v4.tool.Rule.resolveToAttribute:(Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Lorg/antlr/v4/tool/Attribute;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/antlr/v4/tool/Alternative;
0 1 1 x Ljava/lang/String;
0 1 2 node Lorg/antlr/v4/tool/ast/ActionAST;
MethodParameters:
Name Flags
x
node
public org.antlr.v4.tool.Attribute resolveToAttribute(java.lang.String, java.lang.String, org.antlr.v4.tool.ast.ActionAST);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Lorg/antlr/v4/tool/Attribute;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.antlr.v4.tool.Alternative.tokenRefs:Lorg/stringtemplate/v4/misc/MultiMap;
aload 1
invokevirtual org.stringtemplate.v4.misc.MultiMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 2
1: aload 0
getfield org.antlr.v4.tool.Alternative.rule:Lorg/antlr/v4/tool/Rule;
getstatic org.antlr.v4.tool.LabelType.TOKEN_LABEL:Lorg/antlr/v4/tool/LabelType;
invokevirtual org.antlr.v4.tool.Rule.getPredefinedScope:(Lorg/antlr/v4/tool/LabelType;)Lorg/antlr/v4/tool/AttributeDict;
aload 2
invokevirtual org.antlr.v4.tool.AttributeDict.get:(Ljava/lang/String;)Lorg/antlr/v4/tool/Attribute;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.v4.tool.Alternative.ruleRefs:Lorg/stringtemplate/v4/misc/MultiMap;
aload 1
invokevirtual org.stringtemplate.v4.misc.MultiMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 4
3: aload 0
getfield org.antlr.v4.tool.Alternative.rule:Lorg/antlr/v4/tool/Rule;
getfield org.antlr.v4.tool.Rule.g:Lorg/antlr/v4/tool/Grammar;
aload 1
invokevirtual org.antlr.v4.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/v4/tool/Rule;
aload 2
invokevirtual org.antlr.v4.tool.Rule.resolveRetvalOrProperty:(Ljava/lang/String;)Lorg/antlr/v4/tool/Attribute;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.antlr.v4.tool.Alternative.getAnyLabelDef:(Ljava/lang/String;)Lorg/antlr/v4/tool/LabelElementPair;
astore 4
start local 4 5: aload 4
ifnull 7
aload 4
getfield org.antlr.v4.tool.LabelElementPair.type:Lorg/antlr/v4/tool/LabelType;
getstatic org.antlr.v4.tool.LabelType.RULE_LABEL:Lorg/antlr/v4/tool/LabelType;
if_acmpne 7
6: aload 0
getfield org.antlr.v4.tool.Alternative.rule:Lorg/antlr/v4/tool/Rule;
getfield org.antlr.v4.tool.Rule.g:Lorg/antlr/v4/tool/Grammar;
aload 4
getfield org.antlr.v4.tool.LabelElementPair.element:Lorg/antlr/v4/tool/ast/GrammarAST;
invokevirtual org.antlr.v4.tool.ast.GrammarAST.getText:()Ljava/lang/String;
invokevirtual org.antlr.v4.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/v4/tool/Rule;
aload 2
invokevirtual org.antlr.v4.tool.Rule.resolveRetvalOrProperty:(Ljava/lang/String;)Lorg/antlr/v4/tool/Attribute;
areturn
7: StackMap locals: org.antlr.v4.tool.LabelElementPair
StackMap stack:
aload 4
ifnull 12
8: aload 0
getfield org.antlr.v4.tool.Alternative.rule:Lorg/antlr/v4/tool/Rule;
aload 4
getfield org.antlr.v4.tool.LabelElementPair.type:Lorg/antlr/v4/tool/LabelType;
invokevirtual org.antlr.v4.tool.Rule.getPredefinedScope:(Lorg/antlr/v4/tool/LabelType;)Lorg/antlr/v4/tool/AttributeDict;
astore 5
start local 5 9: aload 5
ifnonnull 11
10: aconst_null
areturn
11: StackMap locals: org.antlr.v4.tool.AttributeDict
StackMap stack:
aload 5
aload 2
invokevirtual org.antlr.v4.tool.AttributeDict.get:(Ljava/lang/String;)Lorg/antlr/v4/tool/Attribute;
areturn
end local 5 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/antlr/v4/tool/Alternative;
0 13 1 x Ljava/lang/String;
0 13 2 y Ljava/lang/String;
0 13 3 node Lorg/antlr/v4/tool/ast/ActionAST;
5 13 4 anyLabelDef Lorg/antlr/v4/tool/LabelElementPair;
9 12 5 scope Lorg/antlr/v4/tool/AttributeDict;
MethodParameters:
Name Flags
x
y
node
public boolean resolvesToLabel(java.lang.String, org.antlr.v4.tool.ast.ActionAST);
descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.antlr.v4.tool.Alternative.getAnyLabelDef:(Ljava/lang/String;)Lorg/antlr/v4/tool/LabelElementPair;
astore 3
start local 3 1: aload 3
ifnull 5
2: aload 3
getfield org.antlr.v4.tool.LabelElementPair.type:Lorg/antlr/v4/tool/LabelType;
getstatic org.antlr.v4.tool.LabelType.TOKEN_LABEL:Lorg/antlr/v4/tool/LabelType;
if_acmpeq 4
3: aload 3
getfield org.antlr.v4.tool.LabelElementPair.type:Lorg/antlr/v4/tool/LabelType;
getstatic org.antlr.v4.tool.LabelType.RULE_LABEL:Lorg/antlr/v4/tool/LabelType;
if_acmpne 5
4: StackMap locals: org.antlr.v4.tool.LabelElementPair
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/antlr/v4/tool/Alternative;
0 6 1 x Ljava/lang/String;
0 6 2 node Lorg/antlr/v4/tool/ast/ActionAST;
1 6 3 anyLabelDef Lorg/antlr/v4/tool/LabelElementPair;
MethodParameters:
Name Flags
x
node
public boolean resolvesToListLabel(java.lang.String, org.antlr.v4.tool.ast.ActionAST);
descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.antlr.v4.tool.Alternative.getAnyLabelDef:(Ljava/lang/String;)Lorg/antlr/v4/tool/LabelElementPair;
astore 3
start local 3 1: aload 3
ifnull 5
2: aload 3
getfield org.antlr.v4.tool.LabelElementPair.type:Lorg/antlr/v4/tool/LabelType;
getstatic org.antlr.v4.tool.LabelType.RULE_LIST_LABEL:Lorg/antlr/v4/tool/LabelType;
if_acmpeq 4
3: aload 3
getfield org.antlr.v4.tool.LabelElementPair.type:Lorg/antlr/v4/tool/LabelType;
getstatic org.antlr.v4.tool.LabelType.TOKEN_LIST_LABEL:Lorg/antlr/v4/tool/LabelType;
if_acmpne 5
4: StackMap locals: org.antlr.v4.tool.LabelElementPair
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/antlr/v4/tool/Alternative;
0 6 1 x Ljava/lang/String;
0 6 2 node Lorg/antlr/v4/tool/ast/ActionAST;
1 6 3 anyLabelDef Lorg/antlr/v4/tool/LabelElementPair;
MethodParameters:
Name Flags
x
node
public org.antlr.v4.tool.LabelElementPair getAnyLabelDef(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/antlr/v4/tool/LabelElementPair;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.antlr.v4.tool.Alternative.labelDefs:Lorg/stringtemplate/v4/misc/MultiMap;
aload 1
invokevirtual org.stringtemplate.v4.misc.MultiMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.antlr.v4.tool.LabelElementPair
areturn
2: StackMap locals: java.util.List
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/antlr/v4/tool/Alternative;
0 3 1 x Ljava/lang/String;
1 3 2 labels Ljava/util/List<Lorg/antlr/v4/tool/LabelElementPair;>;
MethodParameters:
Name Flags
x
public org.antlr.v4.tool.Rule resolveToRule(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/antlr/v4/tool/Rule;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.antlr.v4.tool.Alternative.ruleRefs:Lorg/stringtemplate/v4/misc/MultiMap;
aload 1
invokevirtual org.stringtemplate.v4.misc.MultiMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 1
aload 0
getfield org.antlr.v4.tool.Alternative.rule:Lorg/antlr/v4/tool/Rule;
getfield org.antlr.v4.tool.Rule.g:Lorg/antlr/v4/tool/Grammar;
aload 1
invokevirtual org.antlr.v4.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/v4/tool/Rule;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.antlr.v4.tool.Alternative.getAnyLabelDef:(Ljava/lang/String;)Lorg/antlr/v4/tool/LabelElementPair;
astore 2
start local 2 2: aload 2
ifnull 4
aload 2
getfield org.antlr.v4.tool.LabelElementPair.type:Lorg/antlr/v4/tool/LabelType;
getstatic org.antlr.v4.tool.LabelType.RULE_LABEL:Lorg/antlr/v4/tool/LabelType;
if_acmpne 4
3: aload 0
getfield org.antlr.v4.tool.Alternative.rule:Lorg/antlr/v4/tool/Rule;
getfield org.antlr.v4.tool.Rule.g:Lorg/antlr/v4/tool/Grammar;
aload 2
getfield org.antlr.v4.tool.LabelElementPair.element:Lorg/antlr/v4/tool/ast/GrammarAST;
invokevirtual org.antlr.v4.tool.ast.GrammarAST.getText:()Ljava/lang/String;
invokevirtual org.antlr.v4.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/v4/tool/Rule;
areturn
4: StackMap locals: org.antlr.v4.tool.LabelElementPair
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/antlr/v4/tool/Alternative;
0 5 1 x Ljava/lang/String;
2 5 2 anyLabelDef Lorg/antlr/v4/tool/LabelElementPair;
MethodParameters:
Name Flags
x
}
SourceFile: "Alternative.java"