class com.oracle.truffle.js.parser.env.Environment$1 implements com.oracle.truffle.js.parser.env.Environment$WrapClosure
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.js.parser.env.Environment$1
super_class: java.lang.Object
{
final com.oracle.truffle.js.parser.env.Environment this$0;
descriptor: Lcom/oracle/truffle/js/parser/env/Environment;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final com.oracle.truffle.api.frame.FrameSlot val$dynamicScopeSlot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final int val$frameLevel;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final int val$scopeLevel;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.lang.String val$name;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.js.parser.env.Environment, com.oracle.truffle.api.frame.FrameSlot, int, int, java.lang.String);
descriptor: (Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/api/frame/FrameSlot;IILjava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=6
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
aload 2
putfield com.oracle.truffle.js.parser.env.Environment$1.val$dynamicScopeSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
iload 3
putfield com.oracle.truffle.js.parser.env.Environment$1.val$frameLevel:I
aload 0
iload 4
putfield com.oracle.truffle.js.parser.env.Environment$1.val$scopeLevel:I
aload 0
aload 5
putfield com.oracle.truffle.js.parser.env.Environment$1.val$name:Ljava/lang/String;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/Environment$1;
MethodParameters:
Name Flags
this$0 final
val$dynamicScopeSlot final
val$frameLevel final
val$scopeLevel final
val$name final
public com.oracle.truffle.js.nodes.JavaScriptNode apply(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.parser.env.Environment$WrapAccess);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/Environment$WrapAccess;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.val$dynamicScopeSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.val$frameLevel:I
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.val$scopeLevel:I
invokevirtual com.oracle.truffle.js.parser.env.Environment.createLocal:(Lcom/oracle/truffle/api/frame/FrameSlot;II)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 1: aload 2
getstatic com.oracle.truffle.js.parser.env.Environment$WrapAccess.Delete:Lcom/oracle/truffle/js/parser/env/Environment$WrapAccess;
if_acmpne 4
2: aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
getfield com.oracle.truffle.js.parser.env.Environment.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aconst_null
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
getfield com.oracle.truffle.js.parser.env.Environment.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.val$name:Ljava/lang/String;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantString:(Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
getfield com.oracle.truffle.js.parser.env.Environment.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDeleteProperty:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
astore 4
start local 4 3: goto 13
end local 4 StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
4: aload 2
getstatic com.oracle.truffle.js.parser.env.Environment$WrapAccess.Write:Lcom/oracle/truffle/js/parser/env/Environment$WrapAccess;
if_acmpne 8
5: getstatic com.oracle.truffle.js.parser.env.Environment.$assertionsDisabled:Z
ifne 6
aload 1
instanceof com.oracle.truffle.js.nodes.access.WriteNode
ifne 6
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
getfield com.oracle.truffle.js.parser.env.Environment.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aconst_null
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.val$name:Ljava/lang/String;
aconst_null
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
getfield com.oracle.truffle.js.parser.env.Environment.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createWriteProperty:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
astore 4
start local 4 7: goto 13
end local 4 StackMap locals:
StackMap stack:
8: aload 2
getstatic com.oracle.truffle.js.parser.env.Environment$WrapAccess.Read:Lcom/oracle/truffle/js/parser/env/Environment$WrapAccess;
if_acmpne 12
9: getstatic com.oracle.truffle.js.parser.env.Environment.$assertionsDisabled:Z
ifne 10
aload 1
instanceof com.oracle.truffle.js.nodes.ReadNode
ifne 10
aload 1
instanceof com.oracle.truffle.js.nodes.RepeatableNode
ifne 10
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
getfield com.oracle.truffle.js.parser.env.Environment.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
getfield com.oracle.truffle.js.parser.env.Environment.context:Lcom/oracle/truffle/js/runtime/JSContext;
aconst_null
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.val$name:Ljava/lang/String;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createReadProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
astore 4
start local 4 11: goto 13
end local 4 12: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
start local 4 13: StackMap locals: com.oracle.truffle.js.nodes.access.JSTargetableNode
StackMap stack:
new com.oracle.truffle.js.nodes.access.EvalVariableNode
dup
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
getfield com.oracle.truffle.js.parser.env.Environment.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$1.val$name:Ljava/lang/String;
aload 1
aload 3
aload 4
invokespecial com.oracle.truffle.js.nodes.access.EvalVariableNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/js/parser/env/Environment$1;
0 14 1 delegateNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 14 2 access Lcom/oracle/truffle/js/parser/env/Environment$WrapAccess;
1 14 3 dynamicScopeNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 4 4 scopeAccessNode Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
7 8 4 scopeAccessNode Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
11 12 4 scopeAccessNode Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
13 14 4 scopeAccessNode Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
MethodParameters:
Name Flags
delegateNode
access
}
SourceFile: "Environment.java"
EnclosingMethod: com.oracle.truffle.js.parser.env.Environment.makeEvalWrapClosure:(Lcom/oracle/truffle/js/parser/env/Environment$WrapClosure;Ljava/lang/String;IILcom/oracle/truffle/js/parser/env/Environment;)Lcom/oracle/truffle/js/parser/env/Environment$WrapClosure;
NestHost: com.oracle.truffle.js.parser.env.Environment
InnerClasses:
com.oracle.truffle.js.parser.env.Environment$1
final WrapAccess = com.oracle.truffle.js.parser.env.Environment$WrapAccess of com.oracle.truffle.js.parser.env.Environment
abstract WrapClosure = com.oracle.truffle.js.parser.env.Environment$WrapClosure of com.oracle.truffle.js.parser.env.Environment