public abstract class com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode extends com.oracle.truffle.js.nodes.function.JSBuiltinNode
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode
  super_class: com.oracle.truffle.js.nodes.function.JSBuiltinNode
{
  public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
         0: .line 1203
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* builtin */
            invokespecial com.oracle.truffle.js.nodes.function.JSBuiltinNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
         1: .line 1204
            return
        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.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    2     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    2     2  builtin  Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
    MethodParameters:
         Name  Flags
      context  
      builtin  

  protected java.lang.Object indirectEvalString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // java.lang.String source
         0: .line 1208
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            astore 2 /* realm */
        start local 2 // com.oracle.truffle.js.runtime.JSRealm realm
         1: .line 1209
            aload 0 /* this */
            aload 2 /* realm */
            aload 1 /* source */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode.indirectEvalImpl:(Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 2 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 1 // java.lang.String source
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    2     1  source  Ljava/lang/String;
            1    2     2   realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
        Name  Flags
      source  

  protected java.lang.Object indirectEvalForeignObject(java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // java.lang.Object source
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary interop
         0: .line 1215
            aload 2 /* interop */
            aload 1 /* source */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifeq 5
         1: .line 1217
            aload 0 /* this */
            aload 2 /* interop */
            aload 1 /* source */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode.indirectEvalString:(Ljava/lang/String;)Ljava/lang/Object;
         2: areturn
         3: .line 1218
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            astore 3 /* ex */
        start local 3 // com.oracle.truffle.api.interop.UnsupportedMessageException ex
         4: .line 1219
            aload 1 /* source */
            aload 3 /* ex */
            ldc "asString"
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorInteropException:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropException;Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 3 // com.oracle.truffle.api.interop.UnsupportedMessageException ex
         5: .line 1222
      StackMap locals:
      StackMap stack:
            aload 1 /* source */
            areturn
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 1 // java.lang.Object source
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    6     1   source  Ljava/lang/Object;
            0    6     2  interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            4    5     3       ex  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
      Exception table:
        from    to  target  type
           1     2       3  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"isForeignObject(source)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.library.CachedLibrary(value = "source")
    MethodParameters:
         Name  Flags
      source   
      interop  

  private java.lang.Object indirectEvalImpl(com.oracle.truffle.js.runtime.JSRealm, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // java.lang.String source
         0: .line 1228
            aconst_null
            astore 3 /* sourceName */
        start local 3 // java.lang.String sourceName
         1: .line 1229
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode.isCallerSensitive:()Z
            ifeq 3
         2: .line 1230
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getCallNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.function.EvalNode.findAndFormatEvalOrigin:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/String;
            astore 3 /* sourceName */
         3: .line 1232
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* sourceName */
            ifnonnull 5
         4: .line 1233
            ldc "<eval>"
            astore 3 /* sourceName */
         5: .line 1235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
            aload 1 /* realm */
            aload 0 /* this */
            ldc "js"
            aload 2 /* source */
            aload 3 /* sourceName */
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            invokeinterface com.oracle.truffle.js.runtime.Evaluator.evaluate:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.String sourceName
        end local 2 // java.lang.String source
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    6     1       realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0    6     2      source  Ljava/lang/String;
            1    6     3  sourceName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary(transferToInterpreterOnException = false)
    MethodParameters:
        Name  Flags
      realm   
      source  

  protected int indirectEvalInt(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // int source
         0: .line 1240
            iload 1 /* source */
            ireturn
        end local 1 // int source
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    1     1  source  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
        Name  Flags
      source  

  protected com.oracle.truffle.js.runtime.SafeInteger indirectEvalSafeInteger(com.oracle.truffle.js.runtime.SafeInteger);
    descriptor: (Lcom/oracle/truffle/js/runtime/SafeInteger;)Lcom/oracle/truffle/js/runtime/SafeInteger;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // com.oracle.truffle.js.runtime.SafeInteger source
         0: .line 1245
            aload 1 /* source */
            areturn
        end local 1 // com.oracle.truffle.js.runtime.SafeInteger source
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    1     1  source  Lcom/oracle/truffle/js/runtime/SafeInteger;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
        Name  Flags
      source  

  protected long indirectEvalLong(long);
    descriptor: (J)J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // long source
         0: .line 1250
            lload 1 /* source */
            lreturn
        end local 1 // long source
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    1     1  source  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
        Name  Flags
      source  

  protected double indirectEvalDouble(double);
    descriptor: (D)D
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // double source
         0: .line 1255
            dload 1 /* source */
            dreturn
        end local 1 // double source
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    1     1  source  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
        Name  Flags
      source  

  protected boolean indirectEvalBoolean(boolean);
    descriptor: (Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // boolean source
         0: .line 1260
            iload 1 /* source */
            ireturn
        end local 1 // boolean source
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    1     1  source  Z
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
        Name  Flags
      source  

  protected com.oracle.truffle.js.runtime.Symbol indirectEvalSymbol(com.oracle.truffle.js.runtime.Symbol);
    descriptor: (Lcom/oracle/truffle/js/runtime/Symbol;)Lcom/oracle/truffle/js/runtime/Symbol;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // com.oracle.truffle.js.runtime.Symbol source
         0: .line 1265
            aload 1 /* source */
            areturn
        end local 1 // com.oracle.truffle.js.runtime.Symbol source
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    1     1  source  Lcom/oracle/truffle/js/runtime/Symbol;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
        Name  Flags
      source  

  protected com.oracle.truffle.js.runtime.BigInt indirectEvalBigInt(com.oracle.truffle.js.runtime.BigInt);
    descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // com.oracle.truffle.js.runtime.BigInt source
         0: .line 1270
            aload 1 /* source */
            areturn
        end local 1 // com.oracle.truffle.js.runtime.BigInt source
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    1     1  source  Lcom/oracle/truffle/js/runtime/BigInt;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
        Name  Flags
      source  

  public com.oracle.truffle.api.object.DynamicObject indirectEvalJSType(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
         0: .line 1275
            aload 1 /* object */
            areturn
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
            0    1     1  object  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"isJSDynamicObject(object)"})
    MethodParameters:
        Name  Flags
      object  

  public boolean isCallerSensitive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
         0: .line 1280
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionV8CompatibilityMode:()Z
            ireturn
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSGlobalIndirectEvalNode;
}
SourceFile: "GlobalBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.GlobalBuiltins
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
  public abstract JSGlobalIndirectEvalNode = com.oracle.truffle.js.builtins.GlobalBuiltins$JSGlobalIndirectEvalNode of com.oracle.truffle.js.builtins.GlobalBuiltins