abstract class com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode extends com.oracle.truffle.js.nodes.function.JSBuiltinNode
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode
  super_class: com.oracle.truffle.js.nodes.function.JSBuiltinNode
{
  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: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
         0: .line 267
            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 268
            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.PolyglotBuiltins$PolyglotImportNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotImportNode;
            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 doString(java.lang.String, com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.js.nodes.interop.ImportValueNode);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode this
        start local 1 // java.lang.String identifier
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary interop
        start local 3 // com.oracle.truffle.js.nodes.interop.ImportValueNode importValueNode
         0: .line 276
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPolyglotBindings:()Ljava/lang/Object;
            astore 4 /* polyglotBindings */
        start local 4 // java.lang.Object polyglotBindings
         1: .line 277
            goto 4
        end local 4 // java.lang.Object polyglotBindings
      StackMap locals:
      StackMap stack: java.lang.SecurityException
         2: astore 5 /* e */
        start local 5 // java.lang.SecurityException e
         3: .line 278
            aload 5 /* e */
            invokestatic com.oracle.truffle.js.runtime.Errors.createErrorFromException:(Ljava/lang/Throwable;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 5 // java.lang.SecurityException e
        start local 4 // java.lang.Object polyglotBindings
         4: .line 281
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* importValueNode */
            aload 2 /* interop */
            aload 4 /* polyglotBindings */
            aload 1 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.interop.ImportValueNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
         5: areturn
         6: .line 282
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnknownIdentifierException
            pop
         7: .line 283
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
         8: .line 284
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.UnsupportedMessageException e
         9: .line 285
            aload 4 /* polyglotBindings */
            aload 5 /* e */
            ldc "readMember"
            aload 1 /* identifier */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorInteropException:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropException;Ljava/lang/String;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 5 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        end local 4 // java.lang.Object polyglotBindings
        end local 3 // com.oracle.truffle.js.nodes.interop.ImportValueNode importValueNode
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 1 // java.lang.String identifier
        end local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotImportNode;
            0   10     1        identifier  Ljava/lang/String;
            0   10     2           interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            0   10     3   importValueNode  Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;
            1    2     4  polyglotBindings  Ljava/lang/Object;
            4   10     4  polyglotBindings  Ljava/lang/Object;
            3    4     5                 e  Ljava/lang/SecurityException;
            9   10     5                 e  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.SecurityException
           4     5       6  Class com.oracle.truffle.api.interop.UnknownIdentifierException
           4     5       8  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
        com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
      2:
        com.oracle.truffle.api.dsl.Cached$Shared(value = "importValue")
        com.oracle.truffle.api.dsl.Cached()
    MethodParameters:
                 Name  Flags
      identifier       
      interop          
      importValueNode  

  protected java.lang.Object doMaybeUnbox(com.oracle.truffle.api.interop.TruffleObject, com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.js.nodes.interop.ImportValueNode);
    descriptor: (Lcom/oracle/truffle/api/interop/TruffleObject;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode this
        start local 1 // com.oracle.truffle.api.interop.TruffleObject identifier
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary interop
        start local 3 // com.oracle.truffle.js.nodes.interop.ImportValueNode importValueNode
         0: .line 293
            aload 2 /* interop */
            aload 1 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 296
            aload 2 /* interop */
            aload 1 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* unboxed */
        start local 4 // java.lang.String unboxed
         2: .line 297
            goto 5
        end local 4 // java.lang.String unboxed
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
         3: astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.UnsupportedMessageException e
         4: .line 298
            aload 1 /* identifier */
            aload 5 /* e */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorUnboxException:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropException;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 5 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        start local 4 // java.lang.String unboxed
         5: .line 300
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 4 /* unboxed */
            aload 2 /* interop */
            aload 3 /* importValueNode */
            invokevirtual com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode.doString:(Ljava/lang/String;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.String unboxed
         6: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* identifier */
            invokevirtual com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode.doInvalid:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.interop.ImportValueNode importValueNode
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 1 // com.oracle.truffle.api.interop.TruffleObject identifier
        end local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotImportNode;
            0    7     1       identifier  Lcom/oracle/truffle/api/interop/TruffleObject;
            0    7     2          interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            0    7     3  importValueNode  Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;
            2    3     4          unboxed  Ljava/lang/String;
            5    6     4          unboxed  Ljava/lang/String;
            4    5     5                e  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 = {"!isString(identifier)"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
        com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
      2:
        com.oracle.truffle.api.dsl.Cached$Shared(value = "importValue")
        com.oracle.truffle.api.dsl.Cached()
    MethodParameters:
                 Name  Flags
      identifier       
      interop          
      importValueNode  

  protected java.lang.Object doInvalid(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode this
        start local 1 // java.lang.Object identifier
         0: .line 308
            aload 1 /* identifier */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorInvalidIdentifier:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 1 // java.lang.Object identifier
        end local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotImportNode;
            0    1     1  identifier  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"!isString(identifier)", "!isTruffleObject(identifier)"})
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
            Name  Flags
      identifier  
}
SourceFile: "PolyglotBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.PolyglotBuiltins
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
  public abstract Shared = com.oracle.truffle.api.dsl.Cached$Shared of com.oracle.truffle.api.dsl.Cached
  abstract PolyglotImportNode = com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotImportNode of com.oracle.truffle.js.builtins.PolyglotBuiltins
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/JSConfig;})