public class org.antlr.tool.GrammarSpelunker
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.antlr.tool.GrammarSpelunker
super_class: java.lang.Object
{
protected java.lang.String grammarFileName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String token;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected org.antlr.tool.GrammarSpelunker$Scanner scanner;
descriptor: Lorg/antlr/tool/GrammarSpelunker$Scanner;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String grammarModifier;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String grammarName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String tokenVocab;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String language;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String inputDirectory;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.util.List<java.lang.String> importedGrammars;
descriptor: Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/List<Ljava/lang/String;>;
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, 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
ldc "Java"
putfield org.antlr.tool.GrammarSpelunker.language:Ljava/lang/String;
2: aload 0
aload 1
putfield org.antlr.tool.GrammarSpelunker.inputDirectory:Ljava/lang/String;
3: aload 0
aload 2
putfield org.antlr.tool.GrammarSpelunker.grammarFileName:Ljava/lang/String;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/antlr/tool/GrammarSpelunker;
0 5 1 inputDirectory Ljava/lang/String;
0 5 2 grammarFileName Ljava/lang/String;
MethodParameters:
Name Flags
inputDirectory
grammarFileName
void consume();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.antlr.tool.GrammarSpelunker.scanner:Lorg/antlr/tool/GrammarSpelunker$Scanner;
invokevirtual org.antlr.tool.GrammarSpelunker$Scanner.nextToken:()Ljava/lang/String;
putfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/antlr/tool/GrammarSpelunker;
Exceptions:
throws java.io.IOException
protected void match(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.consume:()V
goto 4
1: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
ldc "Error parsing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.antlr.tool.GrammarSpelunker.grammarFileName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc "' not expected '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/antlr/tool/GrammarSpelunker;
0 5 1 expecting Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
expecting
public void parse();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=1
start local 0 0: new java.io.FileReader
dup
1: new java.lang.StringBuilder
dup
aload 0
getfield org.antlr.tool.GrammarSpelunker.inputDirectory:Ljava/lang/String;
ifnull 2
new java.lang.StringBuilder
dup
aload 0
getfield org.antlr.tool.GrammarSpelunker.inputDirectory:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 3
StackMap locals: org.antlr.tool.GrammarSpelunker
StackMap stack: new 0 new 0 new 1 new 1
2: ldc ""
StackMap locals: org.antlr.tool.GrammarSpelunker
StackMap stack: new 0 new 0 new 1 new 1 java.lang.String
3: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.antlr.tool.GrammarSpelunker.grammarFileName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
astore 1
start local 1 4: new java.io.BufferedReader
dup
aload 1
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 2
start local 2 5: aload 0
new org.antlr.tool.GrammarSpelunker$Scanner
dup
aload 2
invokespecial org.antlr.tool.GrammarSpelunker$Scanner.<init>:(Ljava/io/Reader;)V
putfield org.antlr.tool.GrammarSpelunker.scanner:Lorg/antlr/tool/GrammarSpelunker$Scanner;
6: aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.consume:()V
7: aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.grammarHeader:()V
8: goto 10
9: StackMap locals: java.io.Reader java.io.BufferedReader
StackMap stack:
aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.consume:()V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ifnull 12
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "@"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc ":"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
11: aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "import"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "options"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
12: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "options"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.options:()V
13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.consume:()V
15: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ifnull 17
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "@"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc ":"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
16: aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "import"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
17: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "import"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.imports:()V
18: goto 22
19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
20: aload 2
ifnull 21
aload 2
invokevirtual java.io.BufferedReader.close:()V
21: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
22: StackMap locals:
StackMap stack:
aload 2
ifnull 23
aload 2
invokevirtual java.io.BufferedReader.close:()V
23: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/antlr/tool/GrammarSpelunker;
4 24 1 r Ljava/io/Reader;
5 24 2 br Ljava/io/BufferedReader;
Exception table:
from to target type
5 19 19 any
Exceptions:
throws java.io.IOException
protected void ();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "tree"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "parser"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "lexer"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
putfield org.antlr.tool.GrammarSpelunker.grammarModifier:Ljava/lang/String;
3: aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.consume:()V
4: StackMap locals:
StackMap stack:
aload 0
ldc "grammar"
invokevirtual org.antlr.tool.GrammarSpelunker.match:(Ljava/lang/String;)V
5: aload 0
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
putfield org.antlr.tool.GrammarSpelunker.grammarName:Ljava/lang/String;
6: aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.consume:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/antlr/tool/GrammarSpelunker;
Exceptions:
throws java.io.IOException
protected void options();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
ldc "options"
invokevirtual org.antlr.tool.GrammarSpelunker.match:(Ljava/lang/String;)V
1: aload 0
ldc "{"
invokevirtual org.antlr.tool.GrammarSpelunker.match:(Ljava/lang/String;)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
astore 1
start local 1 4: aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.consume:()V
5: aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
astore 2
start local 2 6: aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.consume:()V
7: aload 0
ldc ";"
invokevirtual org.antlr.tool.GrammarSpelunker.match:(Ljava/lang/String;)V
8: aload 1
ldc "tokenVocab"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
aload 0
aload 2
putfield org.antlr.tool.GrammarSpelunker.tokenVocab:Ljava/lang/String;
9: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
ldc "language"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
aload 0
aload 2
putfield org.antlr.tool.GrammarSpelunker.language:Ljava/lang/String;
end local 2 end local 1 10: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ifnull 11
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc "}"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
11: StackMap locals:
StackMap stack:
aload 0
ldc "}"
invokevirtual org.antlr.tool.GrammarSpelunker.match:(Ljava/lang/String;)V
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/antlr/tool/GrammarSpelunker;
4 10 1 name Ljava/lang/String;
6 10 2 value Ljava/lang/String;
Exceptions:
throws java.io.IOException
protected void imports();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "import"
invokevirtual org.antlr.tool.GrammarSpelunker.match:(Ljava/lang/String;)V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.antlr.tool.GrammarSpelunker.importedGrammars:Ljava/util/List;
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.tool.GrammarSpelunker.importedGrammars:Ljava/util/List;
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 0
invokevirtual org.antlr.tool.GrammarSpelunker.consume:()V
5: StackMap locals:
StackMap stack:
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ifnull 6
aload 0
getfield org.antlr.tool.GrammarSpelunker.token:Ljava/lang/String;
ldc ";"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
6: StackMap locals:
StackMap stack:
aload 0
ldc ";"
invokevirtual org.antlr.tool.GrammarSpelunker.match:(Ljava/lang/String;)V
7: aload 0
getfield org.antlr.tool.GrammarSpelunker.importedGrammars:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 8
aload 0
aconst_null
putfield org.antlr.tool.GrammarSpelunker.importedGrammars:Ljava/util/List;
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/antlr/tool/GrammarSpelunker;
Exceptions:
throws java.io.IOException
public java.lang.String getGrammarModifier();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.antlr.tool.GrammarSpelunker.grammarModifier:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/antlr/tool/GrammarSpelunker;
public java.lang.String getGrammarName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.antlr.tool.GrammarSpelunker.grammarName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/antlr/tool/GrammarSpelunker;
public java.lang.String getTokenVocab();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.antlr.tool.GrammarSpelunker.tokenVocab:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/antlr/tool/GrammarSpelunker;
public java.lang.String getLanguage();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.antlr.tool.GrammarSpelunker.language:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/antlr/tool/GrammarSpelunker;
public java.util.List<java.lang.String> getImportedGrammars();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.antlr.tool.GrammarSpelunker.importedGrammars:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/antlr/tool/GrammarSpelunker;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new org.antlr.tool.GrammarSpelunker
dup
ldc "."
aload 0
iconst_0
aaload
invokespecial org.antlr.tool.GrammarSpelunker.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
invokevirtual org.antlr.tool.GrammarSpelunker.parse:()V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 1
getfield org.antlr.tool.GrammarSpelunker.grammarModifier:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " grammar "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield org.antlr.tool.GrammarSpelunker.grammarName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "language="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield org.antlr.tool.GrammarSpelunker.language:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "tokenVocab="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield org.antlr.tool.GrammarSpelunker.tokenVocab:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "imports="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield org.antlr.tool.GrammarSpelunker.importedGrammars:Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 args [Ljava/lang/String;
1 7 1 g Lorg/antlr/tool/GrammarSpelunker;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
args
}
SourceFile: "GrammarSpelunker.java"
NestMembers:
org.antlr.tool.GrammarSpelunker$Scanner
InnerClasses:
public Scanner = org.antlr.tool.GrammarSpelunker$Scanner of org.antlr.tool.GrammarSpelunker