public final class com.oracle.truffle.js.nodes.function.ClassDefinitionNode extends com.oracle.truffle.js.nodes.JavaScriptNode implements com.oracle.truffle.js.nodes.function.FunctionNameHolder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.nodes.function.ClassDefinitionNode
super_class: com.oracle.truffle.js.nodes.JavaScriptNode
{
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.JavaScriptNode constructorFunctionNode;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.JavaScriptNode classHeritageNode;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] memberNodes;
descriptor: [Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Children()
private com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeClassBindingNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.PropertyGetNode getPrototypeNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.function.CreateMethodPropertyNode setConstructorNode;
descriptor: Lcom/oracle/truffle/js/nodes/function/CreateMethodPropertyNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.CreateObjectNode$CreateObjectWithPrototypeNode createPrototypeNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/CreateObjectNode$CreateObjectWithPrototypeNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.function.DefineMethodNode defineConstructorMethodNode;
descriptor: Lcom/oracle/truffle/js/nodes/function/DefineMethodNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.PropertySetNode setFieldsNode;
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.InitializeInstanceElementsNode staticFieldsNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/InitializeInstanceElementsNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.PropertySetNode setPrivateBrandNode;
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.function.SetFunctionNameNode setFunctionName;
descriptor: Lcom/oracle/truffle/js/nodes/function/SetFunctionNameNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final boolean hasName;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int instanceFieldCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int staticFieldCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, 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/nodes/function/ClassDefinitionNode;
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.function.ClassDefinitionNode.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[], com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode, boolean, int, int, boolean);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;ZIIZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
invokespecial com.oracle.truffle.js.nodes.JavaScriptNode.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
2: aload 0
aload 2
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.constructorFunctionNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3: aload 0
aload 3
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.classHeritageNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4: aload 0
aload 4
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.memberNodes:[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
5: aload 0
iload 6
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.hasName:Z
6: aload 0
iload 7
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.instanceFieldCount:I
7: aload 0
iload 8
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.staticFieldCount:I
8: aload 0
aload 5
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.writeClassBindingNode:Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
9: aload 0
ldc "prototype"
iconst_0
aload 1
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.create:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.getPrototypeNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
10: aload 0
aload 1
ldc "constructor"
invokestatic com.oracle.truffle.js.nodes.function.CreateMethodPropertyNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/function/CreateMethodPropertyNode;
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setConstructorNode:Lcom/oracle/truffle/js/nodes/function/CreateMethodPropertyNode;
11: aload 0
aload 1
invokestatic com.oracle.truffle.js.nodes.access.CreateObjectNode.createOrdinaryWithPrototype:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/CreateObjectNode$CreateObjectWithPrototypeNode;
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.createPrototypeNode:Lcom/oracle/truffle/js/nodes/access/CreateObjectNode$CreateObjectWithPrototypeNode;
12: aload 0
aload 1
aload 2
invokestatic com.oracle.truffle.js.nodes.function.DefineMethodNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;)Lcom/oracle/truffle/js/nodes/function/DefineMethodNode;
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.defineConstructorMethodNode:Lcom/oracle/truffle/js/nodes/function/DefineMethodNode;
13: aload 0
iload 7
ifeq 14
getstatic com.oracle.truffle.js.runtime.builtins.JSFunction.CLASS_FIELDS_ID:Lcom/oracle/truffle/api/object/HiddenKey;
aload 1
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;
goto 15
StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode int int int int
StackMap stack: com.oracle.truffle.js.nodes.function.ClassDefinitionNode
14: aconst_null
StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode int int int int
StackMap stack: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.js.nodes.access.PropertySetNode
15: putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setFieldsNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
16: aload 0
iload 9
ifeq 17
getstatic com.oracle.truffle.js.runtime.builtins.JSFunction.PRIVATE_BRAND_ID:Lcom/oracle/truffle/api/object/HiddenKey;
aload 1
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;
goto 18
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.function.ClassDefinitionNode
17: aconst_null
StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode int int int int
StackMap stack: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.js.nodes.access.PropertySetNode
18: putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setPrivateBrandNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
19: aload 0
iload 6
ifeq 20
aconst_null
goto 21
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.function.ClassDefinitionNode
20: invokestatic com.oracle.truffle.js.nodes.function.SetFunctionNameNode.create:()Lcom/oracle/truffle/js/nodes/function/SetFunctionNameNode;
StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode int int int int
StackMap stack: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.js.nodes.function.SetFunctionNameNode
21: putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setFunctionName:Lcom/oracle/truffle/js/nodes/function/SetFunctionNameNode;
22: return
end local 9 end local 8 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 23 0 this Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
0 23 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 23 2 constructorFunctionNode Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;
0 23 3 classHeritageNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 23 4 memberNodes [Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
0 23 5 writeClassBindingNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
0 23 6 hasName Z
0 23 7 instanceFieldCount I
0 23 8 staticFieldCount I
0 23 9 hasPrivateInstanceMethods Z
MethodParameters:
Name Flags
context
constructorFunctionNode
classHeritageNode
memberNodes
writeClassBindingNode
hasName
instanceFieldCount
staticFieldCount
hasPrivateInstanceMethods
public static com.oracle.truffle.js.nodes.function.ClassDefinitionNode create(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[], com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode, boolean, int, int, boolean);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;ZIIZ)Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: new com.oracle.truffle.js.nodes.function.ClassDefinitionNode
dup
aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
iload 6
iload 7
iload 8
invokespecial com.oracle.truffle.js.nodes.function.ClassDefinitionNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;ZIIZ)V
areturn
end local 8 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 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 1 constructorFunction Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;
0 1 2 classHeritage Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 3 members [Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
0 1 4 writeClassBinding Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
0 1 5 hasName Z
0 1 6 instanceFieldCount I
0 1 7 staticFieldCount I
0 1 8 hasPrivateInstanceMethods Z
MethodParameters:
Name Flags
context
constructorFunction
classHeritage
members
writeClassBinding
hasName
instanceFieldCount
staticFieldCount
hasPrivateInstanceMethods
public com.oracle.truffle.api.object.DynamicObject execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual com.oracle.truffle.js.nodes.function.ClassDefinitionNode.executeWithClassName:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
0 1 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
public com.oracle.truffle.api.object.DynamicObject executeWithClassName(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getObjectPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 2: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getFunctionPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 3: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.classHeritageNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ifnull 16
4: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.classHeritageNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 6
start local 6 5: aload 6
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 8
6: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
astore 4
7: goto 16
StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object com.oracle.truffle.js.runtime.JSRealm java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
8: aload 6
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isConstructor:(Ljava/lang/Object;)Z
ifne 10
9: ldc "not a constructor"
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
10: StackMap locals:
StackMap stack:
aload 6
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isGenerator:(Ljava/lang/Object;)Z
ifeq 12
11: ldc "class cannot extend a generator function"
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.getPrototypeNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
aload 6
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
13: aload 4
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 15
aload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 15
14: ldc "protoParent is neither Object nor Null"
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
15: StackMap locals:
StackMap stack:
aload 6
astore 5
end local 6 16: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.function.ClassDefinitionNode.$assertionsDisabled:Z
ifne 17
aload 4
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 17
aload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.createPrototypeNode:Lcom/oracle/truffle/js/nodes/access/CreateObjectNode$CreateObjectWithPrototypeNode;
aload 1
aload 4
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.js.nodes.access.CreateObjectNode$CreateObjectWithPrototypeNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 6
start local 6 18: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.defineConstructorMethodNode:Lcom/oracle/truffle/js/nodes/function/DefineMethodNode;
aload 1
aload 6
aload 5
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.js.nodes.function.DefineMethodNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 19: aload 7
aload 6
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.setClassPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)V
20: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setFunctionName:Lcom/oracle/truffle/js/nodes/function/SetFunctionNameNode;
ifnull 22
aload 2
ifnull 22
21: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setFunctionName:Lcom/oracle/truffle/js/nodes/function/SetFunctionNameNode;
aload 7
aload 2
invokevirtual com.oracle.truffle.js.nodes.function.SetFunctionNameNode.execute:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setConstructorNode:Lcom/oracle/truffle/js/nodes/function/CreateMethodPropertyNode;
aload 6
aload 7
invokevirtual com.oracle.truffle.js.nodes.function.CreateMethodPropertyNode.executeVoid:(Ljava/lang/Object;Ljava/lang/Object;)V
23: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.instanceFieldCount:I
ifne 24
aconst_null
goto 25
StackMap locals:
StackMap stack:
24: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.instanceFieldCount:I
anewarray java.lang.Object[]
StackMap locals:
StackMap stack: java.lang.Object[][]
25: astore 8
start local 8 26: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.staticFieldCount:I
ifne 27
aconst_null
goto 28
StackMap locals: java.lang.Object[][]
StackMap stack:
27: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.staticFieldCount:I
anewarray java.lang.Object[]
StackMap locals:
StackMap stack: java.lang.Object[][]
28: astore 9
start local 9 29: aload 0
aload 1
aload 6
aload 7
aload 8
aload 9
invokevirtual com.oracle.truffle.js.nodes.function.ClassDefinitionNode.initializeMembers:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;[[Ljava/lang/Object;[[Ljava/lang/Object;)V
30: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.writeClassBindingNode:Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
ifnull 32
31: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.writeClassBindingNode:Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
aload 1
aload 7
invokevirtual com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.executeWrite:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: StackMap locals: java.lang.Object[][]
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setFieldsNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
ifnull 34
33: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setFieldsNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
aload 7
aload 8
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValue:(Ljava/lang/Object;Ljava/lang/Object;)V
34: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setPrivateBrandNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
ifnull 37
35: new com.oracle.truffle.api.object.HiddenKey
dup
ldc "Brand"
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
astore 10
start local 10 36: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setPrivateBrandNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
aload 7
aload 10
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValue:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 10 37: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.staticFieldCount:I
ifeq 43
38: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.staticFieldsNode:Lcom/oracle/truffle/js/nodes/access/InitializeInstanceElementsNode;
astore 10
start local 10 39: aload 10
ifnonnull 42
40: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
41: aload 0
aload 0
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.nodes.access.InitializeInstanceElementsNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/InitializeInstanceElementsNode;
invokevirtual com.oracle.truffle.js.nodes.function.ClassDefinitionNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.access.InitializeInstanceElementsNode
dup
astore 10
putfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.staticFieldsNode:Lcom/oracle/truffle/js/nodes/access/InitializeInstanceElementsNode;
42: StackMap locals: com.oracle.truffle.js.nodes.access.InitializeInstanceElementsNode
StackMap stack:
aload 10
aload 7
aload 9
invokevirtual com.oracle.truffle.js.nodes.access.InitializeInstanceElementsNode.executeStaticFields:(Ljava/lang/Object;[[Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 43: StackMap locals:
StackMap stack:
aload 7
areturn
end local 9 end local 8 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 44 0 this Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
0 44 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 44 2 className Ljava/lang/Object;
1 44 3 realm Lcom/oracle/truffle/js/runtime/JSRealm;
2 44 4 protoParent Ljava/lang/Object;
3 44 5 constructorParent Ljava/lang/Object;
5 16 6 superclass Ljava/lang/Object;
18 44 6 proto Lcom/oracle/truffle/api/object/DynamicObject;
19 44 7 constructor Lcom/oracle/truffle/api/object/DynamicObject;
26 44 8 instanceFields [[Ljava/lang/Object;
29 44 9 staticFields [[Ljava/lang/Object;
36 37 10 privateBrand Lcom/oracle/truffle/api/object/HiddenKey;
39 43 10 defineStaticFields Lcom/oracle/truffle/js/nodes/access/InitializeInstanceElementsNode;
MethodParameters:
Name Flags
frame
className
private void initializeMembers(com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.DynamicObject, java.lang.Object[][], java.lang.Object[][]);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;[[Ljava/lang/Object;[[Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_0
istore 6
start local 6 1: iconst_0
istore 7
start local 7 2: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.memberNodes:[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 20
StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.api.frame.VirtualFrame com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject java.lang.Object[][] java.lang.Object[][] int int top int int com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[]
StackMap stack:
3: aload 11
iload 9
aaload
astore 8
start local 8 4: aload 8
invokevirtual com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.isStatic:()Z
ifeq 5
aload 3
goto 6
StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.api.frame.VirtualFrame com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject java.lang.Object[][] java.lang.Object[][] int int com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode int int com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[]
StackMap stack:
5: aload 2
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.DynamicObject
6: astore 12
start local 12 7: aload 8
aload 1
aload 12
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.executeVoid:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSContext;)V
8: aload 8
invokevirtual com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.isField:()Z
ifeq 19
9: aload 8
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.executeKey:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 13
start local 13 10: aload 8
aload 1
aload 12
invokevirtual com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.executeValue:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 14
start local 14 11: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 13
aastore
dup
iconst_1
aload 14
aastore
dup
iconst_2
aload 8
invokevirtual com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.isAnonymousFunctionDefinition:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
astore 15
start local 15 12: aload 8
invokevirtual com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.isStatic:()Z
ifeq 15
aload 5
ifnull 15
13: aload 5
iload 7
iinc 7 1
aload 15
aastore
14: goto 19
StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.api.frame.VirtualFrame com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject java.lang.Object[][] java.lang.Object[][] int int com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode int int com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.api.object.DynamicObject java.lang.Object java.lang.Object java.lang.Object[]
StackMap stack:
15: aload 4
ifnull 18
16: aload 4
iload 6
iinc 6 1
aload 15
aastore
17: goto 19
18: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 15 end local 14 end local 13 end local 12 end local 8 19: StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.api.frame.VirtualFrame com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject java.lang.Object[][] java.lang.Object[][] int int top int int com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
20: iload 9
iload 10
if_icmplt 3
21: getstatic com.oracle.truffle.js.nodes.function.ClassDefinitionNode.$assertionsDisabled:Z
ifne 23
iload 6
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.instanceFieldCount:I
if_icmpne 22
iload 7
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.staticFieldCount:I
if_icmpeq 23
StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode com.oracle.truffle.api.frame.VirtualFrame com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject java.lang.Object[][] java.lang.Object[][] int int
StackMap stack:
22: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals:
StackMap stack:
return
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 24 0 this Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
0 24 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 24 2 proto Lcom/oracle/truffle/api/object/DynamicObject;
0 24 3 constructor Lcom/oracle/truffle/api/object/DynamicObject;
0 24 4 instanceFields [[Ljava/lang/Object;
0 24 5 staticFields [[Ljava/lang/Object;
1 24 6 instanceFieldIndex I
2 24 7 staticFieldIndex I
4 19 8 memberNode Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
7 19 12 homeObject Lcom/oracle/truffle/api/object/DynamicObject;
10 19 13 key Ljava/lang/Object;
11 19 14 value Ljava/lang/Object;
12 19 15 field [Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
frame
proto
constructor
instanceFields
staticFields
public boolean isResultAlwaysOfType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/truffle/api/object/DynamicObject;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
0 2 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
public java.lang.String getFunctionName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.hasName:Z
ifeq 1
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.constructorFunctionNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.function.FunctionNameHolder
invokeinterface com.oracle.truffle.js.nodes.function.FunctionNameHolder.getFunctionName:()Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: ldc ""
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
public void setFunctionName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.constructorFunctionNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.function.FunctionNameHolder
aload 1
invokeinterface com.oracle.truffle.js.nodes.function.FunctionNameHolder.setFunctionName:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.constructorFunctionNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.function.ClassDefinitionNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.classHeritageNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.function.ClassDefinitionNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.memberNodes:[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.cloneUninitialized:([Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;Ljava/util/Set;)[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
2: aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.writeClassBindingNode:Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.function.ClassDefinitionNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.hasName:Z
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.instanceFieldCount:I
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.staticFieldCount:I
aload 0
getfield com.oracle.truffle.js.nodes.function.ClassDefinitionNode.setPrivateBrandNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
ifnull 3
iconst_1
goto 4
StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode java.util.Set
StackMap stack: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode int int int
3: iconst_0
4: StackMap locals: com.oracle.truffle.js.nodes.function.ClassDefinitionNode java.util.Set
StackMap stack: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode int int int int
invokestatic com.oracle.truffle.js.nodes.function.ClassDefinitionNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;ZIIZ)Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
0 5 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
materializedTags
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.function.ClassDefinitionNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ClassDefinitionNode.java"
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node
public abstract CreateObjectWithPrototypeNode = com.oracle.truffle.js.nodes.access.CreateObjectNode$CreateObjectWithPrototypeNode of com.oracle.truffle.js.nodes.access.CreateObjectNode
public abstract ObjectLiteralMemberNode = com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode of com.oracle.truffle.js.nodes.access.ObjectLiteralNode