public interface com.oracle.truffle.js.runtime.builtins.BuiltinEnum<E extends java.lang.Enum<? extends com.oracle.truffle.js.runtime.builtins.BuiltinEnum<E>>>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.runtime.builtins.BuiltinEnum
  super_class: java.lang.Object
{
  public E asEnum();
    descriptor: ()Ljava/lang/Enum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 50
            aload 0 /* this */
            checkcast java.lang.Enum
            areturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;
    Signature: ()TE;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 54
            aload 0 /* this */
            invokeinterface com.oracle.truffle.js.runtime.builtins.BuiltinEnum.asEnum:()Ljava/lang/Enum;
            invokevirtual java.lang.Enum.name:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.builtins.BuiltinEnum.stripName:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public java.lang.Object getKey();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 58
            aload 0 /* this */
            invokeinterface com.oracle.truffle.js.runtime.builtins.BuiltinEnum.getName:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public boolean isConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 62
            iconst_0
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public boolean isNewTargetConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 66
            iconst_0
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public abstract int getLength();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean isEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 72
            iconst_1
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public boolean isAOTSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 76
            iconst_1
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public int getECMAScriptVersion();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 80
            iconst_5
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public boolean isAnnexB();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 84
            iconst_0
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public boolean isWritable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 88
            iconst_1
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public boolean isConfigurable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 92
            iconst_1
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public boolean isEnumerable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 96
            iconst_0
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public java.lang.Object createNode(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin, boolean, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;ZZ)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        start local 3 // boolean construct
        start local 4 // boolean newTarget
         0: .line 101
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // boolean newTarget
        end local 3 // boolean construct
        end local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;
            0    1     1    context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2    builtin  Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
            0    1     3  construct  Z
            0    1     4  newTarget  Z
    MethodParameters:
           Name  Flags
      context    
      builtin    
      construct  
      newTarget  

  public com.oracle.truffle.js.nodes.function.BuiltinArgumentBuilder args();
    descriptor: ()Lcom/oracle/truffle/js/nodes/function/BuiltinArgumentBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
         0: .line 105
            invokestatic com.oracle.truffle.js.nodes.function.BuiltinArgumentBuilder.builder:()Lcom/oracle/truffle/js/nodes/function/BuiltinArgumentBuilder;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.BuiltinEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;

  public static java.lang.String stripName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 109
            aload 0 /* name */
            ldc "_"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 1
            aload 0 /* name */
            iconst_0
            aload 0 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* name */
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  
}
Signature: <E:Ljava/lang/Enum<+Lcom/oracle/truffle/js/runtime/builtins/BuiltinEnum<TE;>;>;>Ljava/lang/Object;
SourceFile: "BuiltinEnum.java"