public class org.antlr.runtime.tree.TreePatternParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.antlr.runtime.tree.TreePatternParser
  super_class: java.lang.Object
{
  protected org.antlr.runtime.tree.TreePatternLexer tokenizer;
    descriptor: Lorg/antlr/runtime/tree/TreePatternLexer;
    flags: (0x0004) ACC_PROTECTED

  protected int ttype;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected org.antlr.runtime.tree.TreeWizard wizard;
    descriptor: Lorg/antlr/runtime/tree/TreeWizard;
    flags: (0x0004) ACC_PROTECTED

  protected org.antlr.runtime.tree.TreeAdaptor adaptor;
    descriptor: Lorg/antlr/runtime/tree/TreeAdaptor;
    flags: (0x0004) ACC_PROTECTED

  public void <init>(org.antlr.runtime.tree.TreePatternLexer, org.antlr.runtime.tree.TreeWizard, org.antlr.runtime.tree.TreeAdaptor);
    descriptor: (Lorg/antlr/runtime/tree/TreePatternLexer;Lorg/antlr/runtime/tree/TreeWizard;Lorg/antlr/runtime/tree/TreeAdaptor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.antlr.runtime.tree.TreePatternParser this
        start local 1 // org.antlr.runtime.tree.TreePatternLexer tokenizer
        start local 2 // org.antlr.runtime.tree.TreeWizard wizard
        start local 3 // org.antlr.runtime.tree.TreeAdaptor adaptor
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 40
            aload 0 /* this */
            aload 1 /* tokenizer */
            putfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
         2: .line 41
            aload 0 /* this */
            aload 2 /* wizard */
            putfield org.antlr.runtime.tree.TreePatternParser.wizard:Lorg/antlr/runtime/tree/TreeWizard;
         3: .line 42
            aload 0 /* this */
            aload 3 /* adaptor */
            putfield org.antlr.runtime.tree.TreePatternParser.adaptor:Lorg/antlr/runtime/tree/TreeAdaptor;
         4: .line 43
            aload 0 /* this */
            aload 1 /* tokenizer */
            invokevirtual org.antlr.runtime.tree.TreePatternLexer.nextToken:()I
            putfield org.antlr.runtime.tree.TreePatternParser.ttype:I
         5: .line 44
            return
        end local 3 // org.antlr.runtime.tree.TreeAdaptor adaptor
        end local 2 // org.antlr.runtime.tree.TreeWizard wizard
        end local 1 // org.antlr.runtime.tree.TreePatternLexer tokenizer
        end local 0 // org.antlr.runtime.tree.TreePatternParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/antlr/runtime/tree/TreePatternParser;
            0    6     1  tokenizer  Lorg/antlr/runtime/tree/TreePatternLexer;
            0    6     2     wizard  Lorg/antlr/runtime/tree/TreeWizard;
            0    6     3    adaptor  Lorg/antlr/runtime/tree/TreeAdaptor;
    MethodParameters:
           Name  Flags
      tokenizer  
      wizard     
      adaptor    

  public java.lang.Object pattern();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.antlr.runtime.tree.TreePatternParser this
         0: .line 47
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_1
            if_icmpne 2
         1: .line 48
            aload 0 /* this */
            invokevirtual org.antlr.runtime.tree.TreePatternParser.parseTree:()Ljava/lang/Object;
            areturn
         2: .line 50
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_3
            if_icmpne 7
         3: .line 51
            aload 0 /* this */
            invokevirtual org.antlr.runtime.tree.TreePatternParser.parseNode:()Ljava/lang/Object;
            astore 1 /* node */
        start local 1 // java.lang.Object node
         4: .line 52
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_m1
            if_icmpne 6
         5: .line 53
            aload 1 /* node */
            areturn
         6: .line 55
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Object node
         7: .line 57
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.antlr.runtime.tree.TreePatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/antlr/runtime/tree/TreePatternParser;
            4    7     1  node  Ljava/lang/Object;

  public java.lang.Object parseTree();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.antlr.runtime.tree.TreePatternParser this
         0: .line 61
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_1
            if_icmpeq 2
         1: .line 62
            new java.lang.RuntimeException
            dup
            ldc "no BEGIN"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            invokevirtual org.antlr.runtime.tree.TreePatternLexer.nextToken:()I
            putfield org.antlr.runtime.tree.TreePatternParser.ttype:I
         3: .line 65
            aload 0 /* this */
            invokevirtual org.antlr.runtime.tree.TreePatternParser.parseNode:()Ljava/lang/Object;
            astore 1 /* root */
        start local 1 // java.lang.Object root
         4: .line 66
            aload 1 /* root */
            ifnonnull 14
         5: .line 67
            aconst_null
            areturn
         6: .line 74
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_1
            if_icmpne 10
         7: .line 75
            aload 0 /* this */
            invokevirtual org.antlr.runtime.tree.TreePatternParser.parseTree:()Ljava/lang/Object;
            astore 2 /* subtree */
        start local 2 // java.lang.Object subtree
         8: .line 76
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.adaptor:Lorg/antlr/runtime/tree/TreeAdaptor;
            aload 1 /* root */
            aload 2 /* subtree */
            invokeinterface org.antlr.runtime.tree.TreeAdaptor.addChild:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // java.lang.Object subtree
         9: .line 77
            goto 14
        10: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.antlr.runtime.tree.TreePatternParser.parseNode:()Ljava/lang/Object;
            astore 2 /* child */
        start local 2 // java.lang.Object child
        11: .line 80
            aload 2 /* child */
            ifnonnull 13
        12: .line 81
            aconst_null
            areturn
        13: .line 83
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.adaptor:Lorg/antlr/runtime/tree/TreeAdaptor;
            aload 1 /* root */
            aload 2 /* child */
            invokeinterface org.antlr.runtime.tree.TreeAdaptor.addChild:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // java.lang.Object child
        14: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_1
            if_icmpeq 6
        15: .line 70
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_3
            if_icmpeq 6
        16: .line 71
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_5
            if_icmpeq 6
        17: .line 72
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            bipush 7
            if_icmpeq 6
        18: .line 86
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_2
            if_icmpeq 20
        19: .line 87
            new java.lang.RuntimeException
            dup
            ldc "no END"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            invokevirtual org.antlr.runtime.tree.TreePatternLexer.nextToken:()I
            putfield org.antlr.runtime.tree.TreePatternParser.ttype:I
        21: .line 90
            aload 1 /* root */
            areturn
        end local 1 // java.lang.Object root
        end local 0 // org.antlr.runtime.tree.TreePatternParser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lorg/antlr/runtime/tree/TreePatternParser;
            4   22     1     root  Ljava/lang/Object;
            8    9     2  subtree  Ljava/lang/Object;
           11   14     2    child  Ljava/lang/Object;

  public java.lang.Object parseNode();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.antlr.runtime.tree.TreePatternParser this
         0: .line 95
            aconst_null
            astore 1 /* label */
        start local 1 // java.lang.String label
         1: .line 96
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_5
            if_icmpne 10
         2: .line 97
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            invokevirtual org.antlr.runtime.tree.TreePatternLexer.nextToken:()I
            putfield org.antlr.runtime.tree.TreePatternParser.ttype:I
         3: .line 98
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_3
            if_icmpeq 5
         4: .line 99
            aconst_null
            areturn
         5: .line 101
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            getfield org.antlr.runtime.tree.TreePatternLexer.sval:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 1 /* label */
         6: .line 102
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            invokevirtual org.antlr.runtime.tree.TreePatternLexer.nextToken:()I
            putfield org.antlr.runtime.tree.TreePatternParser.ttype:I
         7: .line 103
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            bipush 6
            if_icmpeq 9
         8: .line 104
            aconst_null
            areturn
         9: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            invokevirtual org.antlr.runtime.tree.TreePatternLexer.nextToken:()I
            putfield org.antlr.runtime.tree.TreePatternParser.ttype:I
        10: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            bipush 7
            if_icmpne 18
        11: .line 111
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            invokevirtual org.antlr.runtime.tree.TreePatternLexer.nextToken:()I
            putfield org.antlr.runtime.tree.TreePatternParser.ttype:I
        12: .line 112
            new org.antlr.runtime.CommonToken
            dup
            iconst_0
            ldc "."
            invokespecial org.antlr.runtime.CommonToken.<init>:(ILjava/lang/String;)V
            astore 2 /* wildcardPayload */
        start local 2 // org.antlr.runtime.Token wildcardPayload
        13: .line 114
            new org.antlr.runtime.tree.TreeWizard$WildcardTreePattern
            dup
            aload 2 /* wildcardPayload */
            invokespecial org.antlr.runtime.tree.TreeWizard$WildcardTreePattern.<init>:(Lorg/antlr/runtime/Token;)V
        14: .line 113
            astore 3 /* node */
        start local 3 // org.antlr.runtime.tree.TreeWizard$TreePattern node
        15: .line 115
            aload 1 /* label */
            ifnull 17
        16: .line 116
            aload 3 /* node */
            aload 1 /* label */
            putfield org.antlr.runtime.tree.TreeWizard$TreePattern.label:Ljava/lang/String;
        17: .line 118
      StackMap locals: org.antlr.runtime.Token org.antlr.runtime.tree.TreeWizard$TreePattern
      StackMap stack:
            aload 3 /* node */
            areturn
        end local 3 // org.antlr.runtime.tree.TreeWizard$TreePattern node
        end local 2 // org.antlr.runtime.Token wildcardPayload
        18: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_3
            if_icmpeq 20
        19: .line 123
            aconst_null
            areturn
        20: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            getfield org.antlr.runtime.tree.TreePatternLexer.sval:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 2 /* tokenName */
        start local 2 // java.lang.String tokenName
        21: .line 126
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            invokevirtual org.antlr.runtime.tree.TreePatternLexer.nextToken:()I
            putfield org.antlr.runtime.tree.TreePatternParser.ttype:I
        22: .line 127
            aload 2 /* tokenName */
            ldc "nil"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 128
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.adaptor:Lorg/antlr/runtime/tree/TreeAdaptor;
            invokeinterface org.antlr.runtime.tree.TreeAdaptor.nil:()Ljava/lang/Object;
            areturn
        24: .line 130
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* tokenName */
            astore 3 /* text */
        start local 3 // java.lang.String text
        25: .line 132
            aconst_null
            astore 4 /* arg */
        start local 4 // java.lang.String arg
        26: .line 133
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.ttype:I
            iconst_4
            if_icmpne 30
        27: .line 134
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            getfield org.antlr.runtime.tree.TreePatternLexer.sval:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 4 /* arg */
        28: .line 135
            aload 4 /* arg */
            astore 3 /* text */
        29: .line 136
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.tokenizer:Lorg/antlr/runtime/tree/TreePatternLexer;
            invokevirtual org.antlr.runtime.tree.TreePatternLexer.nextToken:()I
            putfield org.antlr.runtime.tree.TreePatternParser.ttype:I
        30: .line 140
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.wizard:Lorg/antlr/runtime/tree/TreeWizard;
            aload 2 /* tokenName */
            invokevirtual org.antlr.runtime.tree.TreeWizard.getTokenType:(Ljava/lang/String;)I
            istore 5 /* treeNodeType */
        start local 5 // int treeNodeType
        31: .line 141
            iload 5 /* treeNodeType */
            ifne 33
        32: .line 142
            aconst_null
            areturn
        33: .line 145
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.tree.TreePatternParser.adaptor:Lorg/antlr/runtime/tree/TreeAdaptor;
            iload 5 /* treeNodeType */
            aload 3 /* text */
            invokeinterface org.antlr.runtime.tree.TreeAdaptor.create:(ILjava/lang/String;)Ljava/lang/Object;
            astore 6 /* node */
        start local 6 // java.lang.Object node
        34: .line 146
            aload 1 /* label */
            ifnull 36
            aload 6 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/antlr/runtime/tree/TreeWizard$TreePattern;
            if_acmpne 36
        35: .line 147
            aload 6 /* node */
            checkcast org.antlr.runtime.tree.TreeWizard$TreePattern
            aload 1 /* label */
            putfield org.antlr.runtime.tree.TreeWizard$TreePattern.label:Ljava/lang/String;
        36: .line 149
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* arg */
            ifnull 38
            aload 6 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/antlr/runtime/tree/TreeWizard$TreePattern;
            if_acmpne 38
        37: .line 150
            aload 6 /* node */
            checkcast org.antlr.runtime.tree.TreeWizard$TreePattern
            iconst_1
            putfield org.antlr.runtime.tree.TreeWizard$TreePattern.hasTextArg:Z
        38: .line 152
      StackMap locals:
      StackMap stack:
            aload 6 /* node */
            areturn
        end local 6 // java.lang.Object node
        end local 5 // int treeNodeType
        end local 4 // java.lang.String arg
        end local 3 // java.lang.String text
        end local 2 // java.lang.String tokenName
        end local 1 // java.lang.String label
        end local 0 // org.antlr.runtime.tree.TreePatternParser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   39     0             this  Lorg/antlr/runtime/tree/TreePatternParser;
            1   39     1            label  Ljava/lang/String;
           13   18     2  wildcardPayload  Lorg/antlr/runtime/Token;
           15   18     3             node  Lorg/antlr/runtime/tree/TreeWizard$TreePattern;
           21   39     2        tokenName  Ljava/lang/String;
           25   39     3             text  Ljava/lang/String;
           26   39     4              arg  Ljava/lang/String;
           31   39     5     treeNodeType  I
           34   39     6             node  Ljava/lang/Object;
}
SourceFile: "TreePatternParser.java"
InnerClasses:
  public TreePattern = org.antlr.runtime.tree.TreeWizard$TreePattern of org.antlr.runtime.tree.TreeWizard
  public WildcardTreePattern = org.antlr.runtime.tree.TreeWizard$WildcardTreePattern of org.antlr.runtime.tree.TreeWizard