public class com.sun.tools.javac.parser.Scanner implements com.sun.tools.javac.parser.Lexer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.parser.Scanner
  super_class: java.lang.Object
{
  private com.sun.tools.javac.parser.Tokens tokens;
    descriptor: Lcom/sun/tools/javac/parser/Tokens;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.javac.parser.Tokens$Token token;
    descriptor: Lcom/sun/tools/javac/parser/Tokens$Token;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.javac.parser.Tokens$Token prevToken;
    descriptor: Lcom/sun/tools/javac/parser/Tokens$Token;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<com.sun.tools.javac.parser.Tokens$Token> savedTokens;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/sun/tools/javac/parser/Tokens$Token;>;

  private com.sun.tools.javac.parser.JavaTokenizer tokenizer;
    descriptor: Lcom/sun/tools/javac/parser/JavaTokenizer;
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(com.sun.tools.javac.parser.ScannerFactory, java.nio.CharBuffer);
    descriptor: (Lcom/sun/tools/javac/parser/ScannerFactory;Ljava/nio/CharBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.parser.Scanner this
        start local 1 // com.sun.tools.javac.parser.ScannerFactory fac
        start local 2 // java.nio.CharBuffer buf
         0: .line 74
            aload 0 /* this */
            aload 1 /* fac */
            new com.sun.tools.javac.parser.JavaTokenizer
            dup
            aload 1 /* fac */
            aload 2 /* buf */
            invokespecial com.sun.tools.javac.parser.JavaTokenizer.<init>:(Lcom/sun/tools/javac/parser/ScannerFactory;Ljava/nio/CharBuffer;)V
            invokespecial com.sun.tools.javac.parser.Scanner.<init>:(Lcom/sun/tools/javac/parser/ScannerFactory;Lcom/sun/tools/javac/parser/JavaTokenizer;)V
         1: .line 75
            return
        end local 2 // java.nio.CharBuffer buf
        end local 1 // com.sun.tools.javac.parser.ScannerFactory fac
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/Scanner;
            0    2     1   fac  Lcom/sun/tools/javac/parser/ScannerFactory;
            0    2     2   buf  Ljava/nio/CharBuffer;
    MethodParameters:
      Name  Flags
      fac   
      buf   

  protected void <init>(com.sun.tools.javac.parser.ScannerFactory, char[], int);
    descriptor: (Lcom/sun/tools/javac/parser/ScannerFactory;[CI)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.parser.Scanner this
        start local 1 // com.sun.tools.javac.parser.ScannerFactory fac
        start local 2 // char[] buf
        start local 3 // int inputLength
         0: .line 78
            aload 0 /* this */
            aload 1 /* fac */
            new com.sun.tools.javac.parser.JavaTokenizer
            dup
            aload 1 /* fac */
            aload 2 /* buf */
            iload 3 /* inputLength */
            invokespecial com.sun.tools.javac.parser.JavaTokenizer.<init>:(Lcom/sun/tools/javac/parser/ScannerFactory;[CI)V
            invokespecial com.sun.tools.javac.parser.Scanner.<init>:(Lcom/sun/tools/javac/parser/ScannerFactory;Lcom/sun/tools/javac/parser/JavaTokenizer;)V
         1: .line 79
            return
        end local 3 // int inputLength
        end local 2 // char[] buf
        end local 1 // com.sun.tools.javac.parser.ScannerFactory fac
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/sun/tools/javac/parser/Scanner;
            0    2     1          fac  Lcom/sun/tools/javac/parser/ScannerFactory;
            0    2     2          buf  [C
            0    2     3  inputLength  I
    MethodParameters:
             Name  Flags
      fac          
      buf          
      inputLength  

  protected void <init>(com.sun.tools.javac.parser.ScannerFactory, com.sun.tools.javac.parser.JavaTokenizer);
    descriptor: (Lcom/sun/tools/javac/parser/ScannerFactory;Lcom/sun/tools/javac/parser/JavaTokenizer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.parser.Scanner this
        start local 1 // com.sun.tools.javac.parser.ScannerFactory fac
        start local 2 // com.sun.tools.javac.parser.JavaTokenizer tokenizer
         0: .line 81
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.javac.parser.Scanner.savedTokens:Ljava/util/List;
         2: .line 82
            aload 0 /* this */
            aload 2 /* tokenizer */
            putfield com.sun.tools.javac.parser.Scanner.tokenizer:Lcom/sun/tools/javac/parser/JavaTokenizer;
         3: .line 83
            aload 0 /* this */
            aload 1 /* fac */
            getfield com.sun.tools.javac.parser.ScannerFactory.tokens:Lcom/sun/tools/javac/parser/Tokens;
            putfield com.sun.tools.javac.parser.Scanner.tokens:Lcom/sun/tools/javac/parser/Tokens;
         4: .line 84
            aload 0 /* this */
            aload 0 /* this */
            getstatic com.sun.tools.javac.parser.Tokens.DUMMY:Lcom/sun/tools/javac/parser/Tokens$Token;
            dup_x1
            putfield com.sun.tools.javac.parser.Scanner.prevToken:Lcom/sun/tools/javac/parser/Tokens$Token;
            putfield com.sun.tools.javac.parser.Scanner.token:Lcom/sun/tools/javac/parser/Tokens$Token;
         5: .line 85
            return
        end local 2 // com.sun.tools.javac.parser.JavaTokenizer tokenizer
        end local 1 // com.sun.tools.javac.parser.ScannerFactory fac
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/sun/tools/javac/parser/Scanner;
            0    6     1        fac  Lcom/sun/tools/javac/parser/ScannerFactory;
            0    6     2  tokenizer  Lcom/sun/tools/javac/parser/JavaTokenizer;
    MethodParameters:
           Name  Flags
      fac        
      tokenizer  

  public com.sun.tools.javac.parser.Tokens$Token token();
    descriptor: ()Lcom/sun/tools/javac/parser/Tokens$Token;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.Scanner this
         0: .line 88
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.tools.javac.parser.Scanner.token:(I)Lcom/sun/tools/javac/parser/Tokens$Token;
            areturn
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/parser/Scanner;

  public com.sun.tools.javac.parser.Tokens$Token token(int);
    descriptor: (I)Lcom/sun/tools/javac/parser/Tokens$Token;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.parser.Scanner this
        start local 1 // int lookahead
         0: .line 92
            iload 1 /* lookahead */
            ifne 2
         1: .line 93
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.token:Lcom/sun/tools/javac/parser/Tokens$Token;
            areturn
         2: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* lookahead */
            invokevirtual com.sun.tools.javac.parser.Scanner.ensureLookahead:(I)V
         3: .line 96
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.savedTokens:Ljava/util/List;
            iload 1 /* lookahead */
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.tools.javac.parser.Tokens$Token
            areturn
        end local 1 // int lookahead
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/sun/tools/javac/parser/Scanner;
            0    4     1  lookahead  I
    MethodParameters:
           Name  Flags
      lookahead  

  private void ensureLookahead(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.parser.Scanner this
        start local 1 // int lookahead
         0: .line 101
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.savedTokens:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 102
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.savedTokens:Ljava/util/List;
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.tokenizer:Lcom/sun/tools/javac/parser/JavaTokenizer;
            invokevirtual com.sun.tools.javac.parser.JavaTokenizer.readToken:()Lcom/sun/tools/javac/parser/Tokens$Token;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 101
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            iload 1 /* lookahead */
            if_icmplt 2
        end local 2 // int i
         5: .line 104
            return
        end local 1 // int lookahead
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/sun/tools/javac/parser/Scanner;
            0    6     1  lookahead  I
            1    5     2          i  I
    MethodParameters:
           Name  Flags
      lookahead  

  public com.sun.tools.javac.parser.Tokens$Token prevToken();
    descriptor: ()Lcom/sun/tools/javac/parser/Tokens$Token;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.Scanner this
         0: .line 107
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.prevToken:Lcom/sun/tools/javac/parser/Tokens$Token;
            areturn
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/parser/Scanner;

  public void nextToken();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.Scanner this
         0: .line 111
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.token:Lcom/sun/tools/javac/parser/Tokens$Token;
            putfield com.sun.tools.javac.parser.Scanner.prevToken:Lcom/sun/tools/javac/parser/Tokens$Token;
         1: .line 112
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.savedTokens:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 4
         2: .line 113
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.savedTokens:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast com.sun.tools.javac.parser.Tokens$Token
            putfield com.sun.tools.javac.parser.Scanner.token:Lcom/sun/tools/javac/parser/Tokens$Token;
         3: .line 114
            goto 5
         4: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.tokenizer:Lcom/sun/tools/javac/parser/JavaTokenizer;
            invokevirtual com.sun.tools.javac.parser.JavaTokenizer.readToken:()Lcom/sun/tools/javac/parser/Tokens$Token;
            putfield com.sun.tools.javac.parser.Scanner.token:Lcom/sun/tools/javac/parser/Tokens$Token;
         5: .line 117
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/parser/Scanner;

  public com.sun.tools.javac.parser.Tokens$Token split();
    descriptor: ()Lcom/sun/tools/javac/parser/Tokens$Token;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.parser.Scanner this
         0: .line 120
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.token:Lcom/sun/tools/javac/parser/Tokens$Token;
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.tokens:Lcom/sun/tools/javac/parser/Tokens;
            invokevirtual com.sun.tools.javac.parser.Tokens$Token.split:(Lcom/sun/tools/javac/parser/Tokens;)[Lcom/sun/tools/javac/parser/Tokens$Token;
            astore 1 /* splitTokens */
        start local 1 // com.sun.tools.javac.parser.Tokens$Token[] splitTokens
         1: .line 121
            aload 0 /* this */
            aload 1 /* splitTokens */
            iconst_0
            aaload
            putfield com.sun.tools.javac.parser.Scanner.prevToken:Lcom/sun/tools/javac/parser/Tokens$Token;
         2: .line 122
            aload 0 /* this */
            aload 1 /* splitTokens */
            iconst_1
            aaload
            putfield com.sun.tools.javac.parser.Scanner.token:Lcom/sun/tools/javac/parser/Tokens$Token;
         3: .line 123
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.token:Lcom/sun/tools/javac/parser/Tokens$Token;
            areturn
        end local 1 // com.sun.tools.javac.parser.Tokens$Token[] splitTokens
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/sun/tools/javac/parser/Scanner;
            1    4     1  splitTokens  [Lcom/sun/tools/javac/parser/Tokens$Token;

  public com.sun.tools.javac.util.Position$LineMap getLineMap();
    descriptor: ()Lcom/sun/tools/javac/util/Position$LineMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.Scanner this
         0: .line 127
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.tokenizer:Lcom/sun/tools/javac/parser/JavaTokenizer;
            invokevirtual com.sun.tools.javac.parser.JavaTokenizer.getLineMap:()Lcom/sun/tools/javac/util/Position$LineMap;
            areturn
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/parser/Scanner;

  public int errPos();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.Scanner this
         0: .line 131
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.tokenizer:Lcom/sun/tools/javac/parser/JavaTokenizer;
            invokevirtual com.sun.tools.javac.parser.JavaTokenizer.errPos:()I
            ireturn
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/parser/Scanner;

  public void errPos(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.parser.Scanner this
        start local 1 // int pos
         0: .line 135
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.Scanner.tokenizer:Lcom/sun/tools/javac/parser/JavaTokenizer;
            iload 1 /* pos */
            invokevirtual com.sun.tools.javac.parser.JavaTokenizer.errPos:(I)V
         1: .line 136
            return
        end local 1 // int pos
        end local 0 // com.sun.tools.javac.parser.Scanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/Scanner;
            0    2     1   pos  I
    MethodParameters:
      Name  Flags
      pos   
}
SourceFile: "Scanner.java"
InnerClasses:
  public Token = com.sun.tools.javac.parser.Tokens$Token of com.sun.tools.javac.parser.Tokens
  public abstract LineMap = com.sun.tools.javac.util.Position$LineMap of com.sun.tools.javac.util.Position