public class com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef extends com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef
super_class: com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef
{
protected final com.oracle.truffle.api.frame.FrameSlot frameSlot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final boolean checkTDZ;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.oracle.truffle.js.parser.env.Environment this$0;
descriptor: Lcom/oracle/truffle/js/parser/env/Environment;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.oracle.truffle.js.parser.env.Environment, com.oracle.truffle.api.frame.FrameSlot, int, int, java.lang.String, com.oracle.truffle.js.parser.env.Environment);
descriptor: (Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/api/frame/FrameSlot;IILjava/lang/String;Lcom/oracle/truffle/js/parser/env/Environment;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=7, args_size=7
start local 0 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
iload 3
iload 4
aload 5
aload 6
aload 2
iload 4
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.needsTemporalDeadZoneCheck:(Lcom/oracle/truffle/api/frame/FrameSlot;I)Z
invokespecial com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/api/frame/FrameSlot;IILjava/lang/String;Lcom/oracle/truffle/js/parser/env/Environment;Z)V
1: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/Environment$FrameSlotVarRef;
0 2 2 frameSlot Lcom/oracle/truffle/api/frame/FrameSlot;
0 2 3 scopeLevel I
0 2 4 frameLevel I
0 2 5 name Ljava/lang/String;
0 2 6 current Lcom/oracle/truffle/js/parser/env/Environment;
MethodParameters:
Name Flags
this$0 final
frameSlot
scopeLevel
frameLevel
name
current
public void <init>(com.oracle.truffle.js.parser.env.Environment, com.oracle.truffle.api.frame.FrameSlot, int, int, java.lang.String, com.oracle.truffle.js.parser.env.Environment, boolean);
descriptor: (Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/api/frame/FrameSlot;IILjava/lang/String;Lcom/oracle/truffle/js/parser/env/Environment;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=8
start local 0 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
putfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
1: aload 0
aload 1
iload 3
iload 4
aload 5
aload 6
invokespecial com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;IILjava/lang/String;Lcom/oracle/truffle/js/parser/env/Environment;)V
2: aload 0
aload 2
putfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
3: aload 0
iload 7
putfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.checkTDZ:Z
4: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/env/Environment$FrameSlotVarRef;
0 5 2 frameSlot Lcom/oracle/truffle/api/frame/FrameSlot;
0 5 3 scopeLevel I
0 5 4 frameLevel I
0 5 5 name Ljava/lang/String;
0 5 6 current Lcom/oracle/truffle/js/parser/env/Environment;
0 5 7 checkTDZ Z
MethodParameters:
Name Flags
this$0 final
frameSlot
scopeLevel
frameLevel
name
current
checkTDZ
public com.oracle.truffle.api.frame.FrameSlot getFrameSlot();
descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/Environment$FrameSlotVarRef;
public boolean isConst();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.isConst:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/Environment$FrameSlotVarRef;
public com.oracle.truffle.js.nodes.JavaScriptNode createReadNode();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameLevel:I
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.scopeLevel:I
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.checkTDZ:Z
invokevirtual com.oracle.truffle.js.parser.env.Environment.createLocal:(Lcom/oracle/truffle/api/frame/FrameSlot;IIZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.isImportBinding:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
ifeq 3
2: aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.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 1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createReadImportBinding:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
3: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/env/Environment$FrameSlotVarRef;
1 4 1 readNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
public com.oracle.truffle.js.nodes.JavaScriptNode createWriteNode(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.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$FrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameLevel:I
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.scopeLevel:I
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.current:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getBlockFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameLevel:I
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.scopeLevel:I
invokevirtual com.oracle.truffle.js.parser.env.Environment.getParentSlots:(II)[Lcom/oracle/truffle/api/frame/FrameSlot;
aload 1
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.checkTDZ:Z
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createWriteFrameSlot:(Lcom/oracle/truffle/api/frame/FrameSlot;IILcom/oracle/truffle/api/frame/FrameDescriptor;[Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/Environment$FrameSlotVarRef;
0 1 1 rhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
rhs
public com.oracle.truffle.js.parser.env.Environment$VarRef withTDZCheck();
descriptor: ()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.checkTDZ:Z
ifne 1
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.hasTemporalDeadZone:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef
dup
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.scopeLevel:I
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.frameLevel:I
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.name:Ljava/lang/String;
aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.current:Lcom/oracle/truffle/js/parser/env/Environment;
iconst_1
invokespecial com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/api/frame/FrameSlot;IILjava/lang/String;Lcom/oracle/truffle/js/parser/env/Environment;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/Environment$FrameSlotVarRef;
public boolean hasTDZCheck();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.checkTDZ:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/Environment$FrameSlotVarRef;
}
SourceFile: "Environment.java"
NestHost: com.oracle.truffle.js.parser.env.Environment
InnerClasses:
public abstract AbstractFrameVarRef = com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef of com.oracle.truffle.js.parser.env.Environment
public FrameSlotVarRef = com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef of com.oracle.truffle.js.parser.env.Environment
public abstract VarRef = com.oracle.truffle.js.parser.env.Environment$VarRef of com.oracle.truffle.js.parser.env.Environment