public class com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode extends com.oracle.truffle.js.nodes.JavaScriptBaseNode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode
  super_class: com.oracle.truffle.js.nodes.JavaScriptBaseNode
{
  static final com.oracle.truffle.api.object.HiddenKey ALREADY_RESOLVED_KEY;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.oracle.truffle.api.object.HiddenKey PROMISE_KEY;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.oracle.truffle.api.object.HiddenKey THENABLE_KEY;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.oracle.truffle.api.object.HiddenKey THEN_KEY;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private final com.oracle.truffle.js.runtime.JSContext context;
    descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.oracle.truffle.js.nodes.access.PropertySetNode setAlreadyResolvedNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.PropertySetNode setPromiseNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  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=0, args_size=0
         0: .line 73
            ldc Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode;
            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.truffle.js.nodes.promise.CreateResolvingFunctionNode.$assertionsDisabled:Z
         3: .line 79
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "AlreadyResolved"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.ALREADY_RESOLVED_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
         4: .line 80
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "Promise"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.PROMISE_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
         5: .line 81
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "thenable"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.THENABLE_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
         6: .line 82
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "then"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.THEN_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 88
            aload 0 /* this */
            invokespecial com.oracle.truffle.js.nodes.JavaScriptBaseNode.<init>:()V
         1: .line 89
            aload 0 /* this */
            aload 1 /* context */
            putfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
         2: .line 90
            aload 0 /* this */
            getstatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.ALREADY_RESOLVED_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.access.PropertySetNode.createSetHidden:(Lcom/oracle/truffle/api/object/HiddenKey;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
            putfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.setAlreadyResolvedNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
         3: .line 91
            aload 0 /* this */
            getstatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.PROMISE_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.access.PropertySetNode.createSetHidden:(Lcom/oracle/truffle/api/object/HiddenKey;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
            putfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.setPromiseNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
         4: .line 92
            return
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode;
            0    5     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      context  

  public static com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode create(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 95
            new com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode
            dup
            aload 0 /* context */
            invokespecial com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      context  

  public com.oracle.truffle.js.runtime.util.Pair<com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.DynamicObject> execute(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/util/Pair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject promise
         0: .line 99
            new com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved
            dup
            invokespecial com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved.<init>:()V
            astore 2 /* alreadyResolved */
        start local 2 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved alreadyResolved
         1: .line 100
            aload 0 /* this */
            aload 1 /* promise */
            aload 2 /* alreadyResolved */
            invokevirtual com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.createPromiseResolveFunction:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode$AlreadyResolved;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 3 /* resolve */
        start local 3 // com.oracle.truffle.api.object.DynamicObject resolve
         2: .line 101
            aload 0 /* this */
            aload 1 /* promise */
            aload 2 /* alreadyResolved */
            invokevirtual com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.createPromiseRejectFunction:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode$AlreadyResolved;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* reject */
        start local 4 // com.oracle.truffle.api.object.DynamicObject reject
         3: .line 102
            new com.oracle.truffle.js.runtime.util.Pair
            dup
            aload 3 /* resolve */
            aload 4 /* reject */
            invokespecial com.oracle.truffle.js.runtime.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
        end local 4 // com.oracle.truffle.api.object.DynamicObject reject
        end local 3 // com.oracle.truffle.api.object.DynamicObject resolve
        end local 2 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved alreadyResolved
        end local 1 // com.oracle.truffle.api.object.DynamicObject promise
        end local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode;
            0    4     1          promise  Lcom/oracle/truffle/api/object/DynamicObject;
            1    4     2  alreadyResolved  Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode$AlreadyResolved;
            2    4     3          resolve  Lcom/oracle/truffle/api/object/DynamicObject;
            3    4     4           reject  Lcom/oracle/truffle/api/object/DynamicObject;
    Signature: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/util/Pair<Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;>;
    MethodParameters:
         Name  Flags
      promise  

  private com.oracle.truffle.api.object.DynamicObject createPromiseResolveFunction(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode$AlreadyResolved;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject promise
        start local 2 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved alreadyResolved
         0: .line 106
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            getstatic com.oracle.truffle.js.runtime.JSContext$BuiltinFunctionKey.PromiseResolveFunction:Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode.lambda$0(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData; (6)
                  (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getOrCreateBuiltinFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;Ljava/util/function/Function;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            astore 3 /* functionData */
        start local 3 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
         1: .line 107
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            aload 3 /* functionData */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* function */
        start local 4 // com.oracle.truffle.api.object.DynamicObject function
         2: .line 108
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.setPromiseNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
            aload 4 /* function */
            aload 1 /* promise */
            invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValue:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 109
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.setAlreadyResolvedNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
            aload 4 /* function */
            aload 2 /* alreadyResolved */
            invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValue:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 110
            aload 4 /* function */
            areturn
        end local 4 // com.oracle.truffle.api.object.DynamicObject function
        end local 3 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 2 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved alreadyResolved
        end local 1 // com.oracle.truffle.api.object.DynamicObject promise
        end local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode;
            0    5     1          promise  Lcom/oracle/truffle/api/object/DynamicObject;
            0    5     2  alreadyResolved  Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode$AlreadyResolved;
            1    5     3     functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            2    5     4         function  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
                 Name  Flags
      promise          
      alreadyResolved  

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData createPromiseResolveFunctionImpl(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 231
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveRootNode
            dup
            aload 0 /* context */
            invokespecial com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveRootNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 1 /* callTarget */
        start local 1 // com.oracle.truffle.api.CallTarget callTarget
         1: .line 232
            aload 0 /* context */
            aload 1 /* callTarget */
            iconst_1
            ldc ""
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 1 // com.oracle.truffle.api.CallTarget callTarget
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     1  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
         Name  Flags
      context  

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData createPromiseResolveThenableJobImpl(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 251
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob
            dup
            aload 0 /* context */
            invokespecial com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 1 /* callTarget */
        start local 1 // com.oracle.truffle.api.CallTarget callTarget
         1: .line 252
            aload 0 /* context */
            aload 1 /* callTarget */
            iconst_0
            ldc ""
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 1 // com.oracle.truffle.api.CallTarget callTarget
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     1  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
         Name  Flags
      context  

  private com.oracle.truffle.api.object.DynamicObject createPromiseRejectFunction(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode$AlreadyResolved;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject promise
        start local 2 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved alreadyResolved
         0: .line 256
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            getstatic com.oracle.truffle.js.runtime.JSContext$BuiltinFunctionKey.PromiseRejectFunction:Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode.lambda$1(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData; (6)
                  (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getOrCreateBuiltinFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;Ljava/util/function/Function;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            astore 3 /* functionData */
        start local 3 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
         1: .line 257
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            aload 3 /* functionData */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* function */
        start local 4 // com.oracle.truffle.api.object.DynamicObject function
         2: .line 258
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.setPromiseNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
            aload 4 /* function */
            aload 1 /* promise */
            invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValue:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 259
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.setAlreadyResolvedNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
            aload 4 /* function */
            aload 2 /* alreadyResolved */
            invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValue:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 260
            aload 4 /* function */
            areturn
        end local 4 // com.oracle.truffle.api.object.DynamicObject function
        end local 3 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 2 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved alreadyResolved
        end local 1 // com.oracle.truffle.api.object.DynamicObject promise
        end local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode;
            0    5     1          promise  Lcom/oracle/truffle/api/object/DynamicObject;
            0    5     2  alreadyResolved  Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode$AlreadyResolved;
            1    5     3     functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            2    5     4         function  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
                 Name  Flags
      promise          
      alreadyResolved  

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData createPromiseRejectFunctionImpl(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 303
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseRejectRootNode
            dup
            aload 0 /* context */
            invokespecial com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseRejectRootNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 1 /* callTarget */
        start local 1 // com.oracle.truffle.api.CallTarget callTarget
         1: .line 304
            aload 0 /* context */
            aload 1 /* callTarget */
            iconst_1
            ldc ""
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 1 // com.oracle.truffle.api.CallTarget callTarget
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     1  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
         Name  Flags
      context  

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData lambda$0(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext c
         0: .line 106
            aload 0 /* c */
            invokestatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.createPromiseResolveFunctionImpl:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSContext c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lcom/oracle/truffle/js/runtime/JSContext;

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData lambda$1(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext c
         0: .line 256
            aload 0 /* c */
            invokestatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.createPromiseRejectFunctionImpl:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSContext c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lcom/oracle/truffle/js/runtime/JSContext;
}
SourceFile: "CreateResolvingFunctionNode.java"
NestMembers:
  com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseRejectRootNode  com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveRootNode  com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob  com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved
InnerClasses:
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
  PromiseRejectRootNode = com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseRejectRootNode
  PromiseResolveRootNode = com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveRootNode
  PromiseResolveThenableJob = com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob
  final AlreadyResolved = com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$AlreadyResolved of com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode
  public final BuiltinFunctionKey = com.oracle.truffle.js.runtime.JSContext$BuiltinFunctionKey of com.oracle.truffle.js.runtime.JSContext
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles