public class org.antlr.v4.runtime.UnbufferedTokenStream<T extends org.antlr.v4.runtime.Token> implements org.antlr.v4.runtime.TokenStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.antlr.v4.runtime.UnbufferedTokenStream
  super_class: java.lang.Object
{
  protected org.antlr.v4.runtime.TokenSource tokenSource;
    descriptor: Lorg/antlr/v4/runtime/TokenSource;
    flags: (0x0004) ACC_PROTECTED

  protected org.antlr.v4.runtime.Token[] tokens;
    descriptor: [Lorg/antlr/v4/runtime/Token;
    flags: (0x0004) ACC_PROTECTED

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

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

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

  protected org.antlr.v4.runtime.Token lastToken;
    descriptor: Lorg/antlr/v4/runtime/Token;
    flags: (0x0004) ACC_PROTECTED

  protected org.antlr.v4.runtime.Token lastTokenBufferStart;
    descriptor: Lorg/antlr/v4/runtime/Token;
    flags: (0x0004) ACC_PROTECTED

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 13
            ldc Lorg/antlr/v4/runtime/UnbufferedTokenStream;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.antlr.v4.runtime.UnbufferedTokenStream.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.antlr.v4.runtime.TokenSource);
    descriptor: (Lorg/antlr/v4/runtime/TokenSource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // org.antlr.v4.runtime.TokenSource tokenSource
         0: .line 68
            aload 0 /* this */
            aload 1 /* tokenSource */
            sipush 256
            invokespecial org.antlr.v4.runtime.UnbufferedTokenStream.<init>:(Lorg/antlr/v4/runtime/TokenSource;I)V
         1: .line 69
            return
        end local 1 // org.antlr.v4.runtime.TokenSource tokenSource
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0    2     1  tokenSource  Lorg/antlr/v4/runtime/TokenSource;
    MethodParameters:
             Name  Flags
      tokenSource  

  public void <init>(org.antlr.v4.runtime.TokenSource, int);
    descriptor: (Lorg/antlr/v4/runtime/TokenSource;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // org.antlr.v4.runtime.TokenSource tokenSource
        start local 2 // int bufferSize
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 36
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
         2: .line 44
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.numMarkers:I
         3: .line 65
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.currentTokenIndex:I
         4: .line 72
            aload 0 /* this */
            aload 1 /* tokenSource */
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.tokenSource:Lorg/antlr/v4/runtime/TokenSource;
         5: .line 73
            aload 0 /* this */
            iload 2 /* bufferSize */
            anewarray org.antlr.v4.runtime.Token
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
         6: .line 74
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
         7: .line 75
            aload 0 /* this */
            iconst_1
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.fill:(I)I
            pop
         8: .line 76
            return
        end local 2 // int bufferSize
        end local 1 // org.antlr.v4.runtime.TokenSource tokenSource
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0    9     1  tokenSource  Lorg/antlr/v4/runtime/TokenSource;
            0    9     2   bufferSize  I
    MethodParameters:
             Name  Flags
      tokenSource  
      bufferSize   

  public org.antlr.v4.runtime.Token get(int);
    descriptor: (I)Lorg/antlr/v4/runtime/Token;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // int i
         0: .line 80
            aload 0 /* this */
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.getBufferStartIndex:()I
            istore 2 /* bufferStartIndex */
        start local 2 // int bufferStartIndex
         1: .line 81
            iload 1 /* i */
            iload 2 /* bufferStartIndex */
            if_icmplt 2
            iload 1 /* i */
            iload 2 /* bufferStartIndex */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            iadd
            if_icmplt 5
         2: .line 82
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "get("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") outside buffer: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 83
            iload 2 /* bufferStartIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ".."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* bufferStartIndex */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 82
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            iload 1 /* i */
            iload 2 /* bufferStartIndex */
            isub
            aaload
            areturn
        end local 2 // int bufferStartIndex
        end local 1 // int i
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0    6     1                 i  I
            1    6     2  bufferStartIndex  I
    MethodParameters:
      Name  Flags
      i     

  public org.antlr.v4.runtime.Token LT(int);
    descriptor: (I)Lorg/antlr/v4/runtime/Token;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // int i
         0: .line 90
            iload 1 /* i */
            iconst_m1
            if_icmpne 2
         1: .line 91
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.lastToken:Lorg/antlr/v4/runtime/Token;
            areturn
         2: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.sync:(I)V
         3: .line 95
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            iload 1 /* i */
            iadd
            iconst_1
            isub
            istore 2 /* index */
        start local 2 // int index
         4: .line 96
            iload 2 /* index */
            ifge 6
         5: .line 97
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "LT("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") gives negative index"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 100
      StackMap locals: int
      StackMap stack:
            iload 2 /* index */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            if_icmplt 10
         7: .line 101
            getstatic org.antlr.v4.runtime.UnbufferedTokenStream.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            ifle 8
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            iconst_1
            isub
            aaload
            invokeinterface org.antlr.v4.runtime.Token.getType:()I
            iconst_m1
            if_icmpeq 9
      StackMap locals:
      StackMap stack:
         8: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            iconst_1
            isub
            aaload
            areturn
        10: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            iload 2 /* index */
            aaload
            areturn
        end local 2 // int index
        end local 1 // int i
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0   11     1      i  I
            4   11     2  index  I
    MethodParameters:
      Name  Flags
      i     

  public int LA(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // int i
         0: .line 110
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.LT:(I)Lorg/antlr/v4/runtime/Token;
            invokeinterface org.antlr.v4.runtime.Token.getType:()I
            ireturn
        end local 1 // int i
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public org.antlr.v4.runtime.TokenSource getTokenSource();
    descriptor: ()Lorg/antlr/v4/runtime/TokenSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
         0: .line 115
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokenSource:Lorg/antlr/v4/runtime/TokenSource;
            areturn
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;

  public java.lang.String getText();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
         0: .line 121
            ldc ""
            areturn
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;

  public java.lang.String getText(org.antlr.v4.runtime.RuleContext);
    descriptor: (Lorg/antlr/v4/runtime/RuleContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // org.antlr.v4.runtime.RuleContext ctx
         0: .line 127
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual org.antlr.v4.runtime.RuleContext.getSourceInterval:()Lorg/antlr/v4/runtime/misc/Interval;
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.getText:(Lorg/antlr/v4/runtime/misc/Interval;)Ljava/lang/String;
            areturn
        end local 1 // org.antlr.v4.runtime.RuleContext ctx
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0    1     1   ctx  Lorg/antlr/v4/runtime/RuleContext;
    MethodParameters:
      Name  Flags
      ctx   

  public java.lang.String getText(org.antlr.v4.runtime.Token, org.antlr.v4.runtime.Token);
    descriptor: (Lorg/antlr/v4/runtime/Token;Lorg/antlr/v4/runtime/Token;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // org.antlr.v4.runtime.Token start
        start local 2 // org.antlr.v4.runtime.Token stop
         0: .line 133
            aload 0 /* this */
            aload 1 /* start */
            invokeinterface org.antlr.v4.runtime.Token.getTokenIndex:()I
            aload 2 /* stop */
            invokeinterface org.antlr.v4.runtime.Token.getTokenIndex:()I
            invokestatic org.antlr.v4.runtime.misc.Interval.of:(II)Lorg/antlr/v4/runtime/misc/Interval;
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.getText:(Lorg/antlr/v4/runtime/misc/Interval;)Ljava/lang/String;
            areturn
        end local 2 // org.antlr.v4.runtime.Token stop
        end local 1 // org.antlr.v4.runtime.Token start
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0    1     1  start  Lorg/antlr/v4/runtime/Token;
            0    1     2   stop  Lorg/antlr/v4/runtime/Token;
    MethodParameters:
       Name  Flags
      start  
      stop   

  public void consume();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
         0: .line 138
            aload 0 /* this */
            iconst_1
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.LA:(I)I
            iconst_m1
            if_icmpne 2
         1: .line 139
            new java.lang.IllegalStateException
            dup
            ldc "cannot consume EOF"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            aaload
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.lastToken:Lorg/antlr/v4/runtime/Token;
         3: .line 146
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            iconst_1
            isub
            if_icmpne 7
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.numMarkers:I
            ifne 7
         4: .line 147
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
         5: .line 148
            aload 0 /* this */
            iconst_m1
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
         6: .line 149
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.lastToken:Lorg/antlr/v4/runtime/Token;
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.lastTokenBufferStart:Lorg/antlr/v4/runtime/Token;
         7: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            iconst_1
            iadd
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
         8: .line 153
            aload 0 /* this */
            dup
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.currentTokenIndex:I
            iconst_1
            iadd
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.currentTokenIndex:I
         9: .line 154
            aload 0 /* this */
            iconst_1
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.sync:(I)V
        10: .line 155
            return
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;

  protected void sync(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // int want
         0: .line 162
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            iload 1 /* want */
            iadd
            iconst_1
            isub
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            isub
            iconst_1
            iadd
            istore 2 /* need */
        start local 2 // int need
         1: .line 163
            iload 2 /* need */
            ifle 3
         2: .line 164
            aload 0 /* this */
            iload 2 /* need */
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.fill:(I)I
            pop
         3: .line 166
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int need
        end local 1 // int want
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0    4     1  want  I
            1    4     2  need  I
    MethodParameters:
      Name  Flags
      want  

  protected int fill(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // int n
         0: .line 174
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 7
         2: .line 175
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            ifle 4
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            iconst_1
            isub
            aaload
            invokeinterface org.antlr.v4.runtime.Token.getType:()I
            iconst_m1
            if_icmpne 4
         3: .line 176
            iload 2 /* i */
            ireturn
         4: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokenSource:Lorg/antlr/v4/runtime/TokenSource;
            invokeinterface org.antlr.v4.runtime.TokenSource.nextToken:()Lorg/antlr/v4/runtime/Token;
            astore 3 /* t */
        start local 3 // org.antlr.v4.runtime.Token t
         5: .line 180
            aload 0 /* this */
            aload 3 /* t */
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.add:(Lorg/antlr/v4/runtime/Token;)V
        end local 3 // org.antlr.v4.runtime.Token t
         6: .line 174
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 1 /* n */
            if_icmplt 2
        end local 2 // int i
         8: .line 183
            iload 1 /* n */
            ireturn
        end local 1 // int n
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0    9     1     n  I
            1    8     2     i  I
            5    6     3     t  Lorg/antlr/v4/runtime/Token;
    MethodParameters:
      Name  Flags
      n     

  protected void add(org.antlr.v4.runtime.Token);
    descriptor: (Lorg/antlr/v4/runtime/Token;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // org.antlr.v4.runtime.Token t
         0: .line 187
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            arraylength
            if_icmplt 2
         1: .line 188
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            arraylength
            iconst_2
            imul
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast org.antlr.v4.runtime.Token[]
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
         2: .line 191
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            instanceof org.antlr.v4.runtime.WritableToken
            ifeq 4
         3: .line 192
            aload 1 /* t */
            checkcast org.antlr.v4.runtime.WritableToken
            aload 0 /* this */
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.getBufferStartIndex:()I
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            iadd
            invokeinterface org.antlr.v4.runtime.WritableToken.setTokenIndex:(I)V
         4: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            aload 0 /* this */
            dup
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            dup_x1
            iconst_1
            iadd
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            aload 1 /* t */
            aastore
         5: .line 196
            return
        end local 1 // org.antlr.v4.runtime.Token t
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0    6     1     t  Lorg/antlr/v4/runtime/Token;
    MethodParameters:
      Name  Flags
      t     

  public int mark();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
         0: .line 207
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.numMarkers:I
            ifne 2
         1: .line 208
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.lastToken:Lorg/antlr/v4/runtime/Token;
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.lastTokenBufferStart:Lorg/antlr/v4/runtime/Token;
         2: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.numMarkers:I
            ineg
            iconst_1
            isub
            istore 1 /* mark */
        start local 1 // int mark
         3: .line 212
            aload 0 /* this */
            dup
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.numMarkers:I
            iconst_1
            iadd
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.numMarkers:I
         4: .line 213
            iload 1 /* mark */
            ireturn
        end local 1 // int mark
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            3    5     1  mark  I

  public void release(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // int marker
         0: .line 218
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.numMarkers:I
            ineg
            istore 2 /* expectedMark */
        start local 2 // int expectedMark
         1: .line 219
            iload 1 /* marker */
            iload 2 /* expectedMark */
            if_icmpeq 3
         2: .line 220
            new java.lang.IllegalStateException
            dup
            ldc "release() called with an invalid marker."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 223
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.numMarkers:I
            iconst_1
            isub
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.numMarkers:I
         4: .line 224
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.numMarkers:I
            ifne 10
         5: .line 225
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            ifle 9
         6: .line 228
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            iconst_0
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 229
            aload 0 /* this */
            dup
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            isub
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
         8: .line 230
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
         9: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.lastToken:Lorg/antlr/v4/runtime/Token;
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.lastTokenBufferStart:Lorg/antlr/v4/runtime/Token;
        10: .line 235
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int expectedMark
        end local 1 // int marker
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0   11     1        marker  I
            1   11     2  expectedMark  I
    MethodParameters:
        Name  Flags
      marker  

  public int index();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
         0: .line 239
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.currentTokenIndex:I
            ireturn
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;

  public void seek(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // int index
         0: .line 244
            iload 1 /* index */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.currentTokenIndex:I
            if_icmpne 2
         1: .line 245
            return
         2: .line 248
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.currentTokenIndex:I
            if_icmple 5
         3: .line 249
            aload 0 /* this */
            iload 1 /* index */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.currentTokenIndex:I
            isub
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.sync:(I)V
         4: .line 250
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.getBufferStartIndex:()I
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            iadd
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 1 /* index */
         5: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.getBufferStartIndex:()I
            istore 2 /* bufferStartIndex */
        start local 2 // int bufferStartIndex
         6: .line 254
            iload 1 /* index */
            iload 2 /* bufferStartIndex */
            isub
            istore 3 /* i */
        start local 3 // int i
         7: .line 255
            iload 3 /* i */
            ifge 9
         8: .line 256
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot seek to negative index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 258
      StackMap locals: int int
      StackMap stack:
            iload 3 /* i */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            if_icmplt 13
        10: .line 259
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "seek to index outside buffer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 260
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " not in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* bufferStartIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ".."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* bufferStartIndex */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.n:I
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 259
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
        14: .line 264
            aload 0 /* this */
            iload 1 /* index */
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.currentTokenIndex:I
        15: .line 265
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            ifne 18
        16: .line 266
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.lastTokenBufferStart:Lorg/antlr/v4/runtime/Token;
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.lastToken:Lorg/antlr/v4/runtime/Token;
        17: .line 267
            goto 19
        18: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            iconst_1
            isub
            aaload
            putfield org.antlr.v4.runtime.UnbufferedTokenStream.lastToken:Lorg/antlr/v4/runtime/Token;
        19: .line 271
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int i
        end local 2 // int bufferStartIndex
        end local 1 // int index
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0   20     1             index  I
            6   20     2  bufferStartIndex  I
            7   20     3                 i  I
    MethodParameters:
       Name  Flags
      index  

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
         0: .line 275
            new java.lang.UnsupportedOperationException
            dup
            ldc "Unbuffered stream cannot know its size"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;

  public java.lang.String getSourceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
         0: .line 280
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokenSource:Lorg/antlr/v4/runtime/TokenSource;
            invokeinterface org.antlr.v4.runtime.TokenSource.getSourceName:()Ljava/lang/String;
            areturn
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;

  public java.lang.String getText(org.antlr.v4.runtime.misc.Interval);
    descriptor: (Lorg/antlr/v4/runtime/misc/Interval;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
        start local 1 // org.antlr.v4.runtime.misc.Interval interval
         0: .line 286
            aload 0 /* this */
            invokevirtual org.antlr.v4.runtime.UnbufferedTokenStream.getBufferStartIndex:()I
            istore 2 /* bufferStartIndex */
        start local 2 // int bufferStartIndex
         1: .line 287
            iload 2 /* bufferStartIndex */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            arraylength
            iadd
            iconst_1
            isub
            istore 3 /* bufferStopIndex */
        start local 3 // int bufferStopIndex
         2: .line 289
            aload 1 /* interval */
            getfield org.antlr.v4.runtime.misc.Interval.a:I
            istore 4 /* start */
        start local 4 // int start
         3: .line 290
            aload 1 /* interval */
            getfield org.antlr.v4.runtime.misc.Interval.b:I
            istore 5 /* stop */
        start local 5 // int stop
         4: .line 291
            iload 4 /* start */
            iload 2 /* bufferStartIndex */
            if_icmplt 5
            iload 5 /* stop */
            iload 3 /* bufferStopIndex */
            if_icmple 8
         5: .line 292
      StackMap locals: org.antlr.v4.runtime.UnbufferedTokenStream org.antlr.v4.runtime.misc.Interval int int int int
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "interval "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* interval */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " not in token buffer window: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 293
            iload 2 /* bufferStartIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ".."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* bufferStopIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 292
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 296
      StackMap locals:
      StackMap stack:
            iload 4 /* start */
            iload 2 /* bufferStartIndex */
            isub
            istore 6 /* a */
        start local 6 // int a
         9: .line 297
            iload 5 /* stop */
            iload 2 /* bufferStartIndex */
            isub
            istore 7 /* b */
        start local 7 // int b
        10: .line 299
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* buf */
        start local 8 // java.lang.StringBuilder buf
        11: .line 300
            iload 6 /* a */
            istore 9 /* i */
        start local 9 // int i
        12: goto 16
        13: .line 301
      StackMap locals: org.antlr.v4.runtime.UnbufferedTokenStream org.antlr.v4.runtime.misc.Interval int int int int int int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.tokens:[Lorg/antlr/v4/runtime/Token;
            iload 9 /* i */
            aaload
            astore 10 /* t */
        start local 10 // org.antlr.v4.runtime.Token t
        14: .line 302
            aload 8 /* buf */
            aload 10 /* t */
            invokeinterface org.antlr.v4.runtime.Token.getText:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 10 // org.antlr.v4.runtime.Token t
        15: .line 300
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            iload 7 /* b */
            if_icmple 13
        end local 9 // int i
        17: .line 305
            aload 8 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 8 // java.lang.StringBuilder buf
        end local 7 // int b
        end local 6 // int a
        end local 5 // int stop
        end local 4 // int start
        end local 3 // int bufferStopIndex
        end local 2 // int bufferStartIndex
        end local 1 // org.antlr.v4.runtime.misc.Interval interval
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
            0   18     1          interval  Lorg/antlr/v4/runtime/misc/Interval;
            1   18     2  bufferStartIndex  I
            2   18     3   bufferStopIndex  I
            3   18     4             start  I
            4   18     5              stop  I
            9   18     6                 a  I
           10   18     7                 b  I
           11   18     8               buf  Ljava/lang/StringBuilder;
           12   17     9                 i  I
           14   15    10                 t  Lorg/antlr/v4/runtime/Token;
    MethodParameters:
          Name  Flags
      interval  

  protected final int getBufferStartIndex();
    descriptor: ()I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
         0: .line 309
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.currentTokenIndex:I
            aload 0 /* this */
            getfield org.antlr.v4.runtime.UnbufferedTokenStream.p:I
            isub
            ireturn
        end local 0 // org.antlr.v4.runtime.UnbufferedTokenStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/UnbufferedTokenStream<TT;>;
}
Signature: <T::Lorg/antlr/v4/runtime/Token;>Ljava/lang/Object;Lorg/antlr/v4/runtime/TokenStream;
SourceFile: "UnbufferedTokenStream.java"