public final class com.oracle.truffle.js.runtime.interop.InteropAsyncFunction extends com.oracle.truffle.js.runtime.interop.InteropFunction
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.runtime.interop.InteropAsyncFunction
super_class: com.oracle.truffle.js.runtime.interop.InteropFunction
{
final com.oracle.truffle.js.runtime.builtins.JSFunctionObject function;
descriptor: Lcom/oracle/truffle/js/runtime/builtins/JSFunctionObject;
flags: (0x0010) ACC_FINAL
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=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/runtime/interop/InteropAsyncFunction;
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.runtime.interop.InteropAsyncFunction.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.js.runtime.builtins.JSFunctionObject);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.oracle.truffle.js.runtime.interop.InteropFunction.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionObject;)V
1: aload 0
aload 1
putfield com.oracle.truffle.js.runtime.interop.InteropAsyncFunction.function:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionObject;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/interop/InteropAsyncFunction;
0 3 1 function Lcom/oracle/truffle/js/runtime/builtins/JSFunctionObject;
MethodParameters:
Name Flags
function
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.interop.InteropAsyncFunction.function:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionObject;
invokevirtual java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/interop/InteropAsyncFunction;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.interop.InteropAsyncFunction
ifeq 5
3: aload 1
checkcast com.oracle.truffle.js.runtime.interop.InteropAsyncFunction
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.js.runtime.interop.InteropAsyncFunction.function:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionObject;
aload 2
getfield com.oracle.truffle.js.runtime.interop.InteropAsyncFunction.function:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionObject;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/interop/InteropAsyncFunction;
0 6 1 obj Ljava/lang/Object;
4 5 2 other Lcom/oracle/truffle/js/runtime/interop/InteropAsyncFunction;
MethodParameters:
Name Flags
obj
boolean isExecutable();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/interop/InteropAsyncFunction;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object execute(java.lang.Object[], com.oracle.truffle.js.lang.JavaScriptLanguage, com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.nodes.interop.JSInteropExecuteNode, com.oracle.truffle.js.nodes.interop.ExportValueNode, com.oracle.truffle.js.nodes.promise.UnwrapPromiseNode);
descriptor: ([Ljava/lang/Object;Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/nodes/interop/JSInteropExecuteNode;Lcom/oracle/truffle/js/nodes/interop/ExportValueNode;Lcom/oracle/truffle/js/nodes/promise/UnwrapPromiseNode;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: getstatic com.oracle.truffle.js.runtime.interop.InteropAsyncFunction.$assertionsDisabled:Z
ifne 1
aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.interopCompletePromises:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.interopBoundaryEnter:(Lcom/oracle/truffle/js/runtime/JSRealm;)V
2: aload 4
aload 0
getfield com.oracle.truffle.js.runtime.interop.InteropAsyncFunction.function:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionObject;
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
aload 1
invokevirtual com.oracle.truffle.js.nodes.interop.JSInteropExecuteNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 3: aload 5
aload 7
invokevirtual com.oracle.truffle.js.nodes.interop.ExportValueNode.execute:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
4: goto 8
end local 7 StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 8
6: aload 2
aload 3
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.interopBoundaryExit:(Lcom/oracle/truffle/js/runtime/JSRealm;)V
7: aload 8
athrow
start local 7 8: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 3
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.interopBoundaryExit:(Lcom/oracle/truffle/js/runtime/JSRealm;)V
9: aload 6
aload 7
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.js.nodes.promise.UnwrapPromiseNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/js/runtime/interop/InteropAsyncFunction;
0 10 1 arguments [Ljava/lang/Object;
0 10 2 language Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 10 3 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 10 4 callNode Lcom/oracle/truffle/js/nodes/interop/JSInteropExecuteNode;
0 10 5 exportNode Lcom/oracle/truffle/js/nodes/interop/ExportValueNode;
0 10 6 unwrapPromise Lcom/oracle/truffle/js/nodes/promise/UnwrapPromiseNode;
3 5 7 result Ljava/lang/Object;
8 10 7 result Ljava/lang/Object;
Exception table:
from to target type
2 5 5 any
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.CachedLanguage()
2:
com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/js/lang/JavaScriptLanguage;)
3:
com.oracle.truffle.api.dsl.Cached()
4:
com.oracle.truffle.api.dsl.Cached()
5:
com.oracle.truffle.api.dsl.Cached(value = "create(realm.getContext())")
MethodParameters:
Name Flags
arguments
language
realm
callNode
exportNode
unwrapPromise
}
SourceFile: "InteropAsyncFunction.java"
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;, delegateTo = "function")
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/JSConfig;})