public final class com.oracle.js.parser.TokenLookup
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.js.parser.TokenLookup
  super_class: java.lang.Object
{
  private static final com.oracle.js.parser.TokenType[] table;
    descriptor: [Lcom/oracle/js/parser/TokenType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int tableBase;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final int tableLimit;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 126

  private static final int tableLength;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 95

  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=3, locals=10, args_size=0
         0: .line 50
            ldc Lcom/oracle/js/parser/TokenLookup;
            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 com.oracle.js.parser.TokenLookup.$assertionsDisabled:Z
         3: .line 73
            bipush 95
            anewarray com.oracle.js.parser.TokenType
            putstatic com.oracle.js.parser.TokenLookup.table:[Lcom/oracle/js/parser/TokenType;
         4: .line 76
            invokestatic com.oracle.js.parser.TokenType.getValues:()[Lcom/oracle/js/parser/TokenType;
            dup
            astore 3
            arraylength
            istore 2
            iconst_0
            istore 1
            goto 26
      StackMap locals: top int int com.oracle.js.parser.TokenType[]
      StackMap stack:
         5: aload 3
            iload 1
            aaload
            astore 0 /* tokenType */
        start local 0 // com.oracle.js.parser.TokenType tokenType
         6: .line 78
            aload 0 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         7: .line 81
            aload 4 /* name */
            ifnonnull 9
         8: .line 82
            goto 25
         9: .line 86
      StackMap locals: com.oracle.js.parser.TokenType int int com.oracle.js.parser.TokenType[] java.lang.String
      StackMap stack:
            aload 0 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.getKind:()Lcom/oracle/js/parser/TokenKind;
            getstatic com.oracle.js.parser.TokenKind.SPECIAL:Lcom/oracle/js/parser/TokenKind;
            if_acmpeq 25
        10: .line 88
            aload 4 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* first */
        start local 5 // char first
        11: .line 90
            iload 5 /* first */
            bipush 32
            isub
            istore 6 /* index */
        start local 6 // int index
        12: .line 91
            getstatic com.oracle.js.parser.TokenLookup.$assertionsDisabled:Z
            ifne 13
            iload 6 /* index */
            bipush 95
            if_icmplt 13
            new java.lang.AssertionError
            dup
            ldc "Token name does not fit lookup table"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 94
      StackMap locals: int int
      StackMap stack:
            aload 0 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.getLength:()I
            istore 7 /* length */
        start local 7 // int length
        14: .line 96
            aconst_null
            astore 8 /* prev */
        start local 8 // com.oracle.js.parser.TokenType prev
        15: .line 97
            getstatic com.oracle.js.parser.TokenLookup.table:[Lcom/oracle/js/parser/TokenType;
            iload 6 /* index */
            aaload
            astore 9 /* next */
        start local 9 // com.oracle.js.parser.TokenType next
        16: .line 100
            goto 19
        17: .line 101
      StackMap locals: int com.oracle.js.parser.TokenType com.oracle.js.parser.TokenType
      StackMap stack:
            aload 9 /* next */
            astore 8 /* prev */
        18: .line 102
            aload 9 /* next */
            invokevirtual com.oracle.js.parser.TokenType.getNext:()Lcom/oracle/js/parser/TokenType;
            astore 9 /* next */
        19: .line 100
      StackMap locals:
      StackMap stack:
            aload 9 /* next */
            ifnull 20
            aload 9 /* next */
            invokevirtual com.oracle.js.parser.TokenType.getLength:()I
            iload 7 /* length */
            if_icmpgt 17
        20: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* tokenType */
            aload 9 /* next */
            invokevirtual com.oracle.js.parser.TokenType.setNext:(Lcom/oracle/js/parser/TokenType;)V
        21: .line 108
            aload 8 /* prev */
            ifnonnull 24
        22: .line 109
            getstatic com.oracle.js.parser.TokenLookup.table:[Lcom/oracle/js/parser/TokenType;
            iload 6 /* index */
            aload 0 /* tokenType */
            aastore
        23: .line 110
            goto 25
        24: .line 111
      StackMap locals:
      StackMap stack:
            aload 8 /* prev */
            aload 0 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.setNext:(Lcom/oracle/js/parser/TokenType;)V
        end local 9 // com.oracle.js.parser.TokenType next
        end local 8 // com.oracle.js.parser.TokenType prev
        end local 7 // int length
        end local 6 // int index
        end local 5 // char first
        end local 4 // java.lang.String name
        end local 0 // com.oracle.js.parser.TokenType tokenType
        25: .line 76
      StackMap locals: top int int com.oracle.js.parser.TokenType[]
      StackMap stack:
            iinc 1 1
      StackMap locals:
      StackMap stack:
        26: iload 1
            iload 2
            if_icmplt 5
        27: .line 115
            return
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            6   25     0  tokenType  Lcom/oracle/js/parser/TokenType;
            7   25     4       name  Ljava/lang/String;
           11   25     5      first  C
           12   25     6      index  I
           14   25     7     length  I
           15   25     8       prev  Lcom/oracle/js/parser/TokenType;
           16   25     9       next  Lcom/oracle/js/parser/TokenType;

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.TokenLookup this
         0: .line 117
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 118
            return
        end local 0 // com.oracle.js.parser.TokenLookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/TokenLookup;

  public static com.oracle.js.parser.TokenType lookupKeyword(char[], int, int);
    descriptor: ([CII)Lcom/oracle/js/parser/TokenType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // char[] content
        start local 1 // int position
        start local 2 // int length
         0: .line 131
            aload 0 /* content */
            iload 1 /* position */
            caload
            istore 3 /* first */
        start local 3 // char first
         1: .line 134
            bipush 97
            iload 3 /* first */
            if_icmpgt 20
            iload 3 /* first */
            bipush 122
            if_icmpgt 20
         2: .line 136
            iload 3 /* first */
            bipush 32
            isub
            istore 4 /* index */
        start local 4 // int index
         3: .line 138
            getstatic com.oracle.js.parser.TokenLookup.table:[Lcom/oracle/js/parser/TokenType;
            iload 4 /* index */
            aaload
            astore 5 /* tokenType */
        start local 5 // com.oracle.js.parser.TokenType tokenType
         4: .line 141
            goto 19
         5: .line 142
      StackMap locals: int int com.oracle.js.parser.TokenType
      StackMap stack:
            aload 5 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.getLength:()I
            istore 6 /* tokenLength */
        start local 6 // int tokenLength
         6: .line 145
            iload 6 /* tokenLength */
            iload 2 /* length */
            if_icmpne 16
         7: .line 147
            aload 5 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
         8: .line 149
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 13
        10: .line 150
      StackMap locals: int java.lang.String int
      StackMap stack:
            aload 0 /* content */
            iload 1 /* position */
            iload 8 /* i */
            iadd
            caload
            aload 7 /* name */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 12
        11: .line 151
            goto 14
        12: .line 149
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 8 /* i */
            iload 2 /* length */
            if_icmplt 10
        14: .line 155
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iload 2 /* length */
            if_icmpne 18
        15: .line 157
            aload 5 /* tokenType */
            areturn
        end local 8 // int i
        end local 7 // java.lang.String name
        16: .line 159
      StackMap locals:
      StackMap stack:
            iload 6 /* tokenLength */
            iload 2 /* length */
            if_icmpge 18
        17: .line 161
            goto 20
        18: .line 165
      StackMap locals:
      StackMap stack:
            aload 5 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.getNext:()Lcom/oracle/js/parser/TokenType;
            astore 5 /* tokenType */
        end local 6 // int tokenLength
        19: .line 141
      StackMap locals:
      StackMap stack:
            aload 5 /* tokenType */
            ifnonnull 5
        end local 5 // com.oracle.js.parser.TokenType tokenType
        end local 4 // int index
        20: .line 170
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            areturn
        end local 3 // char first
        end local 2 // int length
        end local 1 // int position
        end local 0 // char[] content
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0      content  [C
            0   21     1     position  I
            0   21     2       length  I
            1   21     3        first  C
            3   20     4        index  I
            4   20     5    tokenType  Lcom/oracle/js/parser/TokenType;
            6   19     6  tokenLength  I
            8   16     7         name  Ljava/lang/String;
            9   16     8            i  I
    MethodParameters:
          Name  Flags
      content   final
      position  final
      length    final

  public static com.oracle.js.parser.TokenType lookupOperator(char, char, char, char, int);
    descriptor: (CCCCI)Lcom/oracle/js/parser/TokenType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=5
        start local 0 // char ch0
        start local 1 // char ch1
        start local 2 // char ch2
        start local 3 // char ch3
        start local 4 // int ecmaScriptVersion
         0: .line 185
            bipush 32
            iload 0 /* ch0 */
            if_icmpge 20
            iload 0 /* ch0 */
            bipush 126
            if_icmpgt 20
            bipush 97
            iload 0 /* ch0 */
            if_icmpgt 1
            iload 0 /* ch0 */
            bipush 122
            if_icmple 20
         1: .line 187
      StackMap locals:
      StackMap stack:
            iload 0 /* ch0 */
            bipush 32
            isub
            istore 5 /* index */
        start local 5 // int index
         2: .line 189
            getstatic com.oracle.js.parser.TokenLookup.table:[Lcom/oracle/js/parser/TokenType;
            iload 5 /* index */
            aaload
            astore 6 /* tokenType */
        start local 6 // com.oracle.js.parser.TokenType tokenType
         3: .line 192
            goto 19
         4: .line 193
      StackMap locals: int com.oracle.js.parser.TokenType
      StackMap stack:
            aload 6 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.getECMAScriptVersion:()I
            iload 4 /* ecmaScriptVersion */
            if_icmpgt 18
         5: .line 194
            aload 6 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
         6: .line 196
            aload 7 /* name */
            invokevirtual java.lang.String.length:()I
            tableswitch { // 1 - 4
                    1: 7
                    2: 8
                    3: 11
                    4: 14
              default: 18
          }
         7: .line 199
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* tokenType */
            areturn
         8: .line 202
      StackMap locals:
      StackMap stack:
            aload 7 /* name */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            iload 1 /* ch1 */
            if_icmpne 18
         9: .line 204
            aload 6 /* tokenType */
            getstatic com.oracle.js.parser.TokenType.OPTIONAL_CHAIN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 10
            iload 2 /* ch2 */
            bipush 48
            if_icmplt 10
            bipush 57
            iload 2 /* ch2 */
            if_icmpge 18
        10: .line 205
      StackMap locals:
      StackMap stack:
            aload 6 /* tokenType */
            areturn
        11: .line 211
      StackMap locals:
      StackMap stack:
            aload 7 /* name */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            iload 1 /* ch1 */
            if_icmpne 18
        12: .line 212
            aload 7 /* name */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            iload 2 /* ch2 */
            if_icmpne 18
        13: .line 213
            aload 6 /* tokenType */
            areturn
        14: .line 218
      StackMap locals:
      StackMap stack:
            aload 7 /* name */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            iload 1 /* ch1 */
            if_icmpne 18
        15: .line 219
            aload 7 /* name */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            iload 2 /* ch2 */
            if_icmpne 18
        16: .line 220
            aload 7 /* name */
            iconst_3
            invokevirtual java.lang.String.charAt:(I)C
            iload 3 /* ch3 */
            if_icmpne 18
        17: .line 221
            aload 6 /* tokenType */
            areturn
        end local 7 // java.lang.String name
        18: .line 230
      StackMap locals:
      StackMap stack:
            aload 6 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.getNext:()Lcom/oracle/js/parser/TokenType;
            astore 6 /* tokenType */
        19: .line 192
      StackMap locals:
      StackMap stack:
            aload 6 /* tokenType */
            ifnonnull 4
        end local 6 // com.oracle.js.parser.TokenType tokenType
        end local 5 // int index
        20: .line 235
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // int ecmaScriptVersion
        end local 3 // char ch3
        end local 2 // char ch2
        end local 1 // char ch1
        end local 0 // char ch0
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0                ch0  C
            0   21     1                ch1  C
            0   21     2                ch2  C
            0   21     3                ch3  C
            0   21     4  ecmaScriptVersion  I
            2   20     5              index  I
            3   20     6          tokenType  Lcom/oracle/js/parser/TokenType;
            6   18     7               name  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      ch0                final
      ch1                final
      ch2                final
      ch3                final
      ecmaScriptVersion  final
}
SourceFile: "TokenLookup.java"