public class com.sun.tools.javac.parser.UnicodeReader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.parser.UnicodeReader
  super_class: java.lang.Object
{
  private final char[] buffer;
    descriptor: [C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int length;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int position;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int width;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private char character;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

  private int codepoint;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean wasBackslash;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.tools.javac.util.Log log;
    descriptor: Lcom/sun/tools/javac/util/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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=2, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // com.sun.tools.javac.parser.ScannerFactory sf
        start local 2 // char[] array
        start local 3 // int length
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 101
            aload 0 /* this */
            aload 2 /* array */
            putfield com.sun.tools.javac.parser.UnicodeReader.buffer:[C
         2: .line 102
            aload 0 /* this */
            iload 3 /* length */
            putfield com.sun.tools.javac.parser.UnicodeReader.length:I
         3: .line 103
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.parser.UnicodeReader.position:I
         4: .line 104
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.parser.UnicodeReader.width:I
         5: .line 105
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.parser.UnicodeReader.character:C
         6: .line 106
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.parser.UnicodeReader.codepoint:I
         7: .line 107
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.parser.UnicodeReader.wasBackslash:Z
         8: .line 108
            aload 0 /* this */
            aload 1 /* sf */
            getfield com.sun.tools.javac.parser.ScannerFactory.log:Lcom/sun/tools/javac/util/Log;
            putfield com.sun.tools.javac.parser.UnicodeReader.log:Lcom/sun/tools/javac/util/Log;
         9: .line 110
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.nextCodePoint:()V
        10: .line 111
            return
        end local 3 // int length
        end local 2 // char[] array
        end local 1 // com.sun.tools.javac.parser.ScannerFactory sf
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0   11     1      sf  Lcom/sun/tools/javac/parser/ScannerFactory;
            0   11     2   array  [C
            0   11     3  length  I
    MethodParameters:
        Name  Flags
      sf      
      array   
      length  

  protected int length();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 120
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.length:I
            ireturn
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  protected boolean isAvailable();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 129
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.position:I
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.length:I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  private void nextCodeUnit();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 137
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.position:I
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.width:I
            iadd
            istore 1 /* index */
        start local 1 // int index
         1: .line 140
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.length:I
            iload 1 /* index */
            if_icmpgt 4
         2: .line 142
            aload 0 /* this */
            bipush 26
            putfield com.sun.tools.javac.parser.UnicodeReader.character:C
         3: .line 143
            goto 6
         4: .line 145
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.buffer:[C
            iload 1 /* index */
            caload
            putfield com.sun.tools.javac.parser.UnicodeReader.character:C
         5: .line 147
            aload 0 /* this */
            dup
            getfield com.sun.tools.javac.parser.UnicodeReader.width:I
            iconst_1
            iadd
            putfield com.sun.tools.javac.parser.UnicodeReader.width:I
         6: .line 149
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int index
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/sun/tools/javac/parser/UnicodeReader;
            1    7     1  index  I

  private void nextUnicodeInputCharacter();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 157
            aload 0 /* this */
            dup
            getfield com.sun.tools.javac.parser.UnicodeReader.position:I
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.width:I
            iadd
            putfield com.sun.tools.javac.parser.UnicodeReader.position:I
         1: .line 159
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.parser.UnicodeReader.width:I
         2: .line 162
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.nextCodeUnit:()V
         3: .line 165
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.wasBackslash:Z
            ifeq 6
         4: .line 167
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.parser.UnicodeReader.wasBackslash:Z
         5: .line 168
            goto 10
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            bipush 92
            if_icmpne 10
         7: .line 170
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.unicodeEscape:()Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack: com.sun.tools.javac.parser.UnicodeReader
         8: iconst_1
      StackMap locals: com.sun.tools.javac.parser.UnicodeReader
      StackMap stack: com.sun.tools.javac.parser.UnicodeReader int
         9: putfield com.sun.tools.javac.parser.UnicodeReader.wasBackslash:Z
        10: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            putfield com.sun.tools.javac.parser.UnicodeReader.codepoint:I
        11: .line 175
            return
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  private void nextCodePoint();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 184
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.nextUnicodeInputCharacter:()V
         1: .line 187
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.isASCII:()Z
            ifne 2
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifne 3
         2: .line 188
      StackMap locals:
      StackMap stack:
            return
         3: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            istore 1 /* hi */
        start local 1 // char hi
         4: .line 193
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.position:I
            istore 2 /* savePosition */
        start local 2 // int savePosition
         5: .line 194
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.width:I
            istore 3 /* saveWidth */
        start local 3 // int saveWidth
         6: .line 197
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.nextUnicodeInputCharacter:()V
         7: .line 198
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            istore 4 /* lo */
        start local 4 // char lo
         8: .line 200
            iload 4 /* lo */
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifeq 13
         9: .line 202
            aload 0 /* this */
            iload 2 /* savePosition */
            putfield com.sun.tools.javac.parser.UnicodeReader.position:I
        10: .line 203
            aload 0 /* this */
            dup
            getfield com.sun.tools.javac.parser.UnicodeReader.width:I
            iload 3 /* saveWidth */
            iadd
            putfield com.sun.tools.javac.parser.UnicodeReader.width:I
        11: .line 205
            aload 0 /* this */
            iload 1 /* hi */
            iload 4 /* lo */
            invokestatic java.lang.Character.toCodePoint:(CC)I
            putfield com.sun.tools.javac.parser.UnicodeReader.codepoint:I
        12: .line 206
            goto 17
        13: .line 208
      StackMap locals: com.sun.tools.javac.parser.UnicodeReader int int int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* savePosition */
            putfield com.sun.tools.javac.parser.UnicodeReader.position:I
        14: .line 209
            aload 0 /* this */
            iload 3 /* saveWidth */
            putfield com.sun.tools.javac.parser.UnicodeReader.width:I
        15: .line 210
            aload 0 /* this */
            iload 1 /* hi */
            putfield com.sun.tools.javac.parser.UnicodeReader.character:C
        16: .line 211
            aload 0 /* this */
            iload 1 /* hi */
            putfield com.sun.tools.javac.parser.UnicodeReader.codepoint:I
        17: .line 214
      StackMap locals:
      StackMap stack:
            return
        end local 4 // char lo
        end local 3 // int saveWidth
        end local 2 // int savePosition
        end local 1 // char hi
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lcom/sun/tools/javac/parser/UnicodeReader;
            4   18     1            hi  C
            5   18     2  savePosition  I
            6   18     3     saveWidth  I
            8   18     4            lo  C

  private boolean unicodeEscape();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 223
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.position:I
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.width:I
            iadd
            istore 1 /* start */
        start local 1 // int start
         1: .line 226
            aload 0 /* this */
            bipush 92
            putfield com.sun.tools.javac.parser.UnicodeReader.character:C
         2: .line 227
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.javac.parser.UnicodeReader.width:I
         3: .line 231
            iload 1 /* start */
            istore 2 /* index */
        start local 2 // int index
         4: goto 8
         5: .line 232
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.buffer:[C
            iload 2 /* index */
            caload
            bipush 117
            if_icmpeq 7
         6: .line 233
            goto 9
         7: .line 231
      StackMap locals:
      StackMap stack:
            iinc 2 /* index */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* index */
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.length:I
            if_icmplt 5
         9: .line 238
      StackMap locals:
      StackMap stack:
            iload 2 /* index */
            iload 1 /* start */
            if_icmpne 11
        10: .line 239
            iconst_0
            ireturn
        11: .line 242
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* code */
        start local 3 // int code
        12: .line 244
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: goto 22
        14: .line 246
      StackMap locals: int int
      StackMap stack:
            iload 2 /* index */
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.length:I
            if_icmpge 15
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.buffer:[C
            iload 2 /* index */
            caload
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_m1
      StackMap locals:
      StackMap stack: int
        16: istore 5 /* digit */
        start local 5 // int digit
        17: .line 247
            iload 3 /* code */
            iconst_4
            ishl
            iload 5 /* digit */
            ior
            istore 3 /* code */
        18: .line 250
            iload 3 /* code */
            ifge 20
        19: .line 251
            goto 23
        20: .line 255
      StackMap locals: int
      StackMap stack:
            iinc 2 /* index */ 1
        end local 5 // int digit
        21: .line 244
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            iconst_4
            if_icmplt 14
        end local 4 // int i
        23: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* index */
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.position:I
            isub
            putfield com.sun.tools.javac.parser.UnicodeReader.width:I
        24: .line 262
            iload 3 /* code */
            iflt 27
        25: .line 263
            aload 0 /* this */
            iload 3 /* code */
            i2c
            putfield com.sun.tools.javac.parser.UnicodeReader.character:C
        26: .line 264
            goto 28
        27: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.log:Lcom/sun/tools/javac/util/Log;
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.position:I
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.IllegalUnicodeEsc:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(ILcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        28: .line 269
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int code
        end local 2 // int index
        end local 1 // int start
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   29     0   this  Lcom/sun/tools/javac/parser/UnicodeReader;
            1   29     1  start  I
            4   29     2  index  I
           12   29     3   code  I
           13   23     4      i  I
           17   21     5  digit  I

  protected int position();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 278
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.position:I
            ireturn
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  protected void reset(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // int pos
         0: .line 288
            aload 0 /* this */
            iload 1 /* pos */
            putfield com.sun.tools.javac.parser.UnicodeReader.position:I
         1: .line 289
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.parser.UnicodeReader.width:I
         2: .line 290
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.parser.UnicodeReader.wasBackslash:Z
         3: .line 291
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.nextCodePoint:()V
         4: .line 292
            return
        end local 1 // int pos
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    5     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  protected char get();
    descriptor: ()C
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 300
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            ireturn
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  protected int getCodepoint();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 309
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.codepoint:I
            ireturn
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  protected boolean isSurrogate();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 318
            ldc 65535
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.codepoint:I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  protected boolean isASCII();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 327
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            bipush 127
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  protected char next();
    descriptor: ()C
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 336
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.nextCodePoint:()V
         1: .line 338
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            ireturn
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  protected boolean is(char);
    descriptor: (C)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // char ch
         0: .line 349
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            iload 1 /* ch */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char ch
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    2     1    ch  C
    MethodParameters:
      Name  Flags
      ch    

  protected boolean isOneOf(char, char);
    descriptor: (CC)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // char ch1
        start local 2 // char ch2
         0: .line 356
            aload 0 /* this */
            iload 1 /* ch1 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            aload 0 /* this */
            iload 2 /* ch2 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 2 // char ch2
        end local 1 // char ch1
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    2     1   ch1  C
            0    2     2   ch2  C
    MethodParameters:
      Name  Flags
      ch1   
      ch2   

  protected boolean isOneOf(char, char, char);
    descriptor: (CCC)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // char ch1
        start local 2 // char ch2
        start local 3 // char ch3
         0: .line 359
            aload 0 /* this */
            iload 1 /* ch1 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            aload 0 /* this */
            iload 2 /* ch2 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            aload 0 /* this */
            iload 3 /* ch3 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 3 // char ch3
        end local 2 // char ch2
        end local 1 // char ch1
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    2     1   ch1  C
            0    2     2   ch2  C
            0    2     3   ch3  C
    MethodParameters:
      Name  Flags
      ch1   
      ch2   
      ch3   

  protected boolean isOneOf(char, char, char, char, char, char);
    descriptor: (CCCCCC)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // char ch1
        start local 2 // char ch2
        start local 3 // char ch3
        start local 4 // char ch4
        start local 5 // char ch5
        start local 6 // char ch6
         0: .line 362
            aload 0 /* this */
            iload 1 /* ch1 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            aload 0 /* this */
            iload 2 /* ch2 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            aload 0 /* this */
            iload 3 /* ch3 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            aload 0 /* this */
            iload 4 /* ch4 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            aload 0 /* this */
            iload 5 /* ch5 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            aload 0 /* this */
            iload 6 /* ch6 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 6 // char ch6
        end local 5 // char ch5
        end local 4 // char ch4
        end local 3 // char ch3
        end local 2 // char ch2
        end local 1 // char ch1
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    2     1   ch1  C
            0    2     2   ch2  C
            0    2     3   ch3  C
            0    2     4   ch4  C
            0    2     5   ch5  C
            0    2     6   ch6  C
    MethodParameters:
      Name  Flags
      ch1   
      ch2   
      ch3   
      ch4   
      ch5   
      ch6   

  protected boolean inRange(char, char);
    descriptor: (CC)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // char lo
        start local 2 // char hi
         0: .line 374
            iload 1 /* lo */
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            if_icmpgt 1
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            iload 2 /* hi */
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // char hi
        end local 1 // char lo
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    2     1    lo  C
            0    2     2    hi  C
    MethodParameters:
      Name  Flags
      lo    
      hi    

  protected boolean accept(char);
    descriptor: (C)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // char ch
         0: .line 385
            aload 0 /* this */
            iload 1 /* ch */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifeq 3
         1: .line 386
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.next:()C
            pop
         2: .line 388
            iconst_1
            ireturn
         3: .line 391
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // char ch
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    4     1    ch  C
    MethodParameters:
      Name  Flags
      ch    

  protected boolean acceptOneOf(char, char);
    descriptor: (CC)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // char ch1
        start local 2 // char ch2
         0: .line 398
            aload 0 /* this */
            iload 1 /* ch1 */
            iload 2 /* ch2 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.isOneOf:(CC)Z
            ifeq 3
         1: .line 399
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.next:()C
            pop
         2: .line 401
            iconst_1
            ireturn
         3: .line 404
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // char ch2
        end local 1 // char ch1
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    4     1   ch1  C
            0    4     2   ch2  C
    MethodParameters:
      Name  Flags
      ch1   
      ch2   

  protected boolean acceptOneOf(char, char, char);
    descriptor: (CCC)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // char ch1
        start local 2 // char ch2
        start local 3 // char ch3
         0: .line 408
            aload 0 /* this */
            iload 1 /* ch1 */
            iload 2 /* ch2 */
            iload 3 /* ch3 */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.isOneOf:(CCC)Z
            ifeq 3
         1: .line 409
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.next:()C
            pop
         2: .line 411
            iconst_1
            ireturn
         3: .line 414
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // char ch3
        end local 2 // char ch2
        end local 1 // char ch1
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    4     1   ch1  C
            0    4     2   ch2  C
            0    4     3   ch3  C
    MethodParameters:
      Name  Flags
      ch1   
      ch2   
      ch3   

  protected void skip(char);
    descriptor: (C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // char ch
         0: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* ch */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.accept:(C)Z
            ifne 0
         1: .line 426
            return
        end local 1 // char ch
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    2     1    ch  C
    MethodParameters:
      Name  Flags
      ch    

  protected void skipWhitespace();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 32
            bipush 9
            bipush 12
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.acceptOneOf:(CCC)Z
            ifne 0
         1: .line 435
            return
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  protected void skipToEOLN();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 441
            goto 4
         1: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 13
            bipush 10
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.isOneOf:(CC)Z
            ifeq 3
         2: .line 443
            goto 5
         3: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.next:()C
            pop
         4: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.isAvailable:()Z
            ifne 1
         5: .line 449
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  protected boolean accept(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // java.lang.String string
         0: .line 462
            aload 1 /* string */
            invokevirtual java.lang.String.length:()I
            ifeq 1
            aload 0 /* this */
            aload 1 /* string */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 2
         1: .line 463
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.position:I
            istore 2 /* savedPosition */
        start local 2 // int savedPosition
         3: .line 469
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.nextCodePoint:()V
         4: .line 472
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         5: goto 11
         6: .line 473
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* string */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.is:(C)Z
            ifne 9
         7: .line 475
            aload 0 /* this */
            iload 2 /* savedPosition */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.reset:(I)V
         8: .line 477
            iconst_0
            ireturn
         9: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.nextCodePoint:()V
        10: .line 472
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 1 /* string */
            invokevirtual java.lang.String.length:()I
            if_icmplt 6
        end local 3 // int i
        12: .line 483
            iconst_1
            ireturn
        end local 2 // int savedPosition
        end local 1 // java.lang.String string
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0   13     1         string  Ljava/lang/String;
            3   13     2  savedPosition  I
            5   12     3              i  I
    MethodParameters:
        Name  Flags
      string  

  protected int digit(int, int);
    descriptor: (II)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // int pos
        start local 2 // int digitRadix
         0: .line 499
            aload 0 /* this */
            bipush 48
            bipush 57
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.inRange:(CC)Z
            ifeq 5
         1: .line 501
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            bipush 48
            isub
            istore 3 /* result */
        start local 3 // int result
         2: .line 503
            iload 3 /* result */
            iload 2 /* digitRadix */
            if_icmpge 3
            iload 3 /* result */
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iconst_m1
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 3 // int result
         5: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.isSurrogate:()Z
            ifeq 6
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.codepoint:I
            iload 2 /* digitRadix */
            invokestatic java.lang.Character.digit:(II)I
            goto 7
         6: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.character:C
            iload 2 /* digitRadix */
            invokestatic java.lang.Character.digit:(CI)I
         7: .line 507
      StackMap locals:
      StackMap stack: int
            istore 3 /* result */
        start local 3 // int result
         8: .line 510
            iload 3 /* result */
            iflt 11
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.isASCII:()Z
            ifne 11
         9: .line 511
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.log:Lcom/sun/tools/javac/util/Log;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.parser.UnicodeReader.position:()I
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.IllegalNonasciiDigit:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(ILcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        10: .line 512
            aload 0 /* this */
            ldc "0123456789abcdef"
            iload 3 /* result */
            invokevirtual java.lang.String.charAt:(I)C
            putfield com.sun.tools.javac.parser.UnicodeReader.character:C
        11: .line 515
      StackMap locals: int
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // int result
        end local 2 // int digitRadix
        end local 1 // int pos
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0   12     1         pos  I
            0   12     2  digitRadix  I
            2    5     3      result  I
            8   12     3      result  I
    MethodParameters:
            Name  Flags
      pos         
      digitRadix  

  public char[] getRawCharacters();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
         0: .line 524
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.length:I
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.buffer:[C
            arraylength
            if_icmpne 1
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.buffer:[C
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.buffer:[C
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.length:I
            invokestatic java.util.Arrays.copyOf:([CI)[C
      StackMap locals:
      StackMap stack: char[]
         2: areturn
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/parser/UnicodeReader;

  public char[] getRawCharacters(int, int);
    descriptor: (II)[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.parser.UnicodeReader this
        start local 1 // int beginIndex
        start local 2 // int endIndex
         0: .line 543
            aload 0 /* this */
            getfield com.sun.tools.javac.parser.UnicodeReader.buffer:[C
            iload 1 /* beginIndex */
            iload 2 /* endIndex */
            invokestatic java.util.Arrays.copyOfRange:([CII)[C
            areturn
        end local 2 // int endIndex
        end local 1 // int beginIndex
        end local 0 // com.sun.tools.javac.parser.UnicodeReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/sun/tools/javac/parser/UnicodeReader;
            0    1     1  beginIndex  I
            0    1     2    endIndex  I
    MethodParameters:
            Name  Flags
      beginIndex  
      endIndex    
}
SourceFile: "UnicodeReader.java"
NestMembers:
  com.sun.tools.javac.parser.UnicodeReader$PositionTrackingReader
InnerClasses:
  PositionTrackingReader = com.sun.tools.javac.parser.UnicodeReader$PositionTrackingReader of com.sun.tools.javac.parser.UnicodeReader
  public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
  public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic