abstract class com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotConstructNode 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$PolyglotConstructNode
  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$PolyglotConstructNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
         0: .line 676
            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 677
            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$PolyglotConstructNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotConstructNode;
            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 doNew(com.oracle.truffle.api.interop.TruffleObject, java.lang.Object[], com.oracle.truffle.js.nodes.interop.ExportValueNode, com.oracle.truffle.api.interop.InteropLibrary);
    descriptor: (Lcom/oracle/truffle/api/interop/TruffleObject;[Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/interop/ExportValueNode;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotConstructNode this
        start local 1 // com.oracle.truffle.api.interop.TruffleObject obj
        start local 2 // java.lang.Object[] arguments
        start local 3 // com.oracle.truffle.js.nodes.interop.ExportValueNode exportValue
        start local 4 // com.oracle.truffle.api.interop.InteropLibrary interop
         0: .line 683
            aload 3 /* exportValue */
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.js.nodes.interop.ExportValueNode.execute:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* target */
        start local 5 // java.lang.Object target
         1: .line 684
            aload 2 /* arguments */
            arraylength
            anewarray java.lang.Object
            astore 6 /* convertedArgs */
        start local 6 // java.lang.Object[] convertedArgs
         2: .line 685
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         3: goto 6
         4: .line 686
      StackMap locals: java.lang.Object java.lang.Object[] int
      StackMap stack:
            aload 6 /* convertedArgs */
            iload 7 /* i */
            aload 3 /* exportValue */
            aload 2 /* arguments */
            iload 7 /* i */
            aaload
            invokevirtual com.oracle.truffle.js.nodes.interop.ExportValueNode.execute:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
         5: .line 685
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 7 /* i */
            aload 2 /* arguments */
            arraylength
            if_icmplt 4
        end local 7 // int i
         7: .line 689
            aload 4 /* interop */
            aload 5 /* target */
            aload 6 /* convertedArgs */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.instantiate:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         8: areturn
         9: .line 690
      StackMap locals: com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotConstructNode com.oracle.truffle.api.interop.TruffleObject java.lang.Object[] com.oracle.truffle.js.nodes.interop.ExportValueNode com.oracle.truffle.api.interop.InteropLibrary java.lang.Object java.lang.Object[]
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 7 /* e */
        start local 7 // com.oracle.truffle.api.interop.InteropException e
        10: .line 691
            aload 1 /* obj */
            aload 7 /* e */
            ldc "instantiate"
            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 7 // com.oracle.truffle.api.interop.InteropException e
        end local 6 // java.lang.Object[] convertedArgs
        end local 5 // java.lang.Object target
        end local 4 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 3 // com.oracle.truffle.js.nodes.interop.ExportValueNode exportValue
        end local 2 // java.lang.Object[] arguments
        end local 1 // com.oracle.truffle.api.interop.TruffleObject obj
        end local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotConstructNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotConstructNode;
            0   11     1            obj  Lcom/oracle/truffle/api/interop/TruffleObject;
            0   11     2      arguments  [Ljava/lang/Object;
            0   11     3    exportValue  Lcom/oracle/truffle/js/nodes/interop/ExportValueNode;
            0   11     4        interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            1   11     5         target  Ljava/lang/Object;
            2   11     6  convertedArgs  [Ljava/lang/Object;
            3    7     7              i  I
           10   11     7              e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           7     8       9  Class com.oracle.truffle.api.interop.UnsupportedTypeException
           7     8       9  Class com.oracle.truffle.api.interop.ArityException
           7     8       9  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.dsl.Cached()
      3:
        com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
    MethodParameters:
             Name  Flags
      obj          
      arguments    
      exportValue  
      interop      

  protected boolean unsupported(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotConstructNode this
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object[] arguments
         0: .line 698
            ldc "construct"
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotATruffleObject:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object obj
        end local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotConstructNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotConstructNode;
            0    1     1        obj  Ljava/lang/Object;
            0    1     2  arguments  [Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"!isTruffleObject(obj)"})
    MethodParameters:
           Name  Flags
      obj        
      arguments  
}
SourceFile: "PolyglotBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.PolyglotBuiltins
InnerClasses:
  abstract PolyglotConstructNode = com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotConstructNode of com.oracle.truffle.js.builtins.PolyglotBuiltins
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/JSConfig;})