public class com.oracle.truffle.js.parser.env.FunctionEnvironment extends com.oracle.truffle.js.parser.env.Environment
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.parser.env.FunctionEnvironment
super_class: com.oracle.truffle.js.parser.env.Environment
{
private static final java.lang.String RETURN_SLOT_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "<return>"
static final java.lang.String ARGUMENTS_SLOT_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "<arguments>"
static final java.lang.String THIS_SLOT_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "<this>"
static final java.lang.String SUPER_SLOT_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "<super>"
static final java.lang.String NEW_TARGET_SLOT_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "<new.target>"
static final java.lang.String YIELD_VALUE_SLOT_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "<yieldvalue>"
static final java.lang.String ASYNC_CONTEXT_SLOT_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "<asynccontext>"
static final java.lang.String ASYNC_RESULT_SLOT_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "<asyncresult>"
private static final java.lang.String YIELD_RESULT_SLOT_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "<yieldresult>"
static final java.lang.String DYNAMIC_SCOPE_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "<evalscope>"
private final com.oracle.truffle.js.parser.env.FunctionEnvironment parent;
descriptor: Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor;
descriptor: Lcom/oracle/truffle/api/frame/FrameDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.oracle.truffle.api.frame.FrameSlot> parameters;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/api/frame/FrameSlot;>;
private final boolean isStrictMode;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.api.frame.FrameSlot argumentsSlot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.frame.FrameSlot returnSlot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.frame.FrameSlot thisSlot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.frame.FrameSlot superSlot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.frame.FrameSlot newTargetSlot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.frame.FrameSlot dynamicScopeSlot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0002) ACC_PRIVATE
private java.lang.String functionName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String internalFunctionName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean isNamedExpression;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean needsParentFrame;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean frozen;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int breakNodeCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int continueNodeCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean hasReturn;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean hasYield;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean hasAwait;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.List<com.oracle.truffle.js.nodes.control.BreakTarget> jumpTargetStack;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lcom/oracle/truffle/js/nodes/control/BreakTarget;>;
private boolean directArgumentsAccess;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final boolean isGlobal;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isEval;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isDirectEval;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isArrowFunction;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isGeneratorFunction;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isDerivedConstructor;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isAsyncFunction;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean hasSyntheticArguments;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean hasRestParameter;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean simpleParameterList;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isDynamicallyScoped;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final boolean inDirectEval;
descriptor: Z
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/parser/env/FunctionEnvironment;
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.parser.env.FunctionEnvironment.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.js.parser.env.Environment, com.oracle.truffle.js.nodes.NodeFactory, com.oracle.truffle.js.runtime.JSContext, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean);
descriptor: (Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;ZZZZZZZZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=13, args_size=13
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 start local 10 start local 11 start local 12 0: aload 0
aload 1
aload 2
aload 3
invokespecial com.oracle.truffle.js.parser.env.Environment.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;)V
1: aload 0
ldc ""
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.functionName:Ljava/lang/String;
2: aload 0
ldc ""
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.internalFunctionName:Ljava/lang/String;
3: aload 0
iconst_1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.simpleParameterList:Z
4: aload 0
iload 6
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:Z
5: aload 0
iload 10
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isAsyncFunction:Z
6: aload 0
iload 4
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isStrictMode:Z
7: aload 0
iload 5
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isEval:Z
8: aload 0
iload 7
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isArrowFunction:Z
9: aload 0
iload 8
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isGeneratorFunction:Z
10: aload 0
iload 9
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isDerivedConstructor:Z
11: aload 0
iload 11
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:Z
12: aload 0
iload 12
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.hasSyntheticArguments:Z
13: aload 0
aload 1
ifnonnull 14
aconst_null
goto 15
StackMap locals: com.oracle.truffle.js.parser.env.FunctionEnvironment com.oracle.truffle.js.parser.env.Environment com.oracle.truffle.js.nodes.NodeFactory com.oracle.truffle.js.runtime.JSContext int int int int int int int int int
StackMap stack: com.oracle.truffle.js.parser.env.FunctionEnvironment
14: aload 1
invokevirtual com.oracle.truffle.js.parser.env.Environment.function:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
StackMap locals: com.oracle.truffle.js.parser.env.FunctionEnvironment com.oracle.truffle.js.parser.env.Environment com.oracle.truffle.js.nodes.NodeFactory com.oracle.truffle.js.runtime.JSContext int int int int int int int int int
StackMap stack: com.oracle.truffle.js.parser.env.FunctionEnvironment com.oracle.truffle.js.parser.env.FunctionEnvironment
15: putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parent:Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
16: aload 0
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
17: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parameters:Ljava/util/List;
18: aload 0
iload 6
ifne 20
aload 1
ifnull 19
aload 1
invokevirtual com.oracle.truffle.js.parser.env.Environment.function:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
ifnull 19
aload 1
invokevirtual com.oracle.truffle.js.parser.env.Environment.function:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.inDirectEval:()Z
ifne 20
StackMap locals:
StackMap stack: com.oracle.truffle.js.parser.env.FunctionEnvironment
19: iconst_0
goto 21
StackMap locals:
StackMap stack: com.oracle.truffle.js.parser.env.FunctionEnvironment
20: iconst_1
StackMap locals: com.oracle.truffle.js.parser.env.FunctionEnvironment com.oracle.truffle.js.parser.env.Environment com.oracle.truffle.js.nodes.NodeFactory com.oracle.truffle.js.runtime.JSContext int int int int int int int int int
StackMap stack: com.oracle.truffle.js.parser.env.FunctionEnvironment int
21: putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.inDirectEval:Z
22: return
end local 12 end local 11 end local 10 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/parser/env/FunctionEnvironment;
0 23 1 parent Lcom/oracle/truffle/js/parser/env/Environment;
0 23 2 factory Lcom/oracle/truffle/js/nodes/NodeFactory;
0 23 3 context Lcom/oracle/truffle/js/runtime/JSContext;
0 23 4 isStrictMode Z
0 23 5 isEval Z
0 23 6 isDirectEval Z
0 23 7 isArrowFunction Z
0 23 8 isGeneratorFunction Z
0 23 9 isDerivedConstructor Z
0 23 10 isAsyncFunction Z
0 23 11 isGlobal Z
0 23 12 hasSyntheticArguments Z
MethodParameters:
Name Flags
parent
factory
context
isStrictMode
isEval
isDirectEval
isArrowFunction
isGeneratorFunction
isDerivedConstructor
isAsyncFunction
isGlobal
hasSyntheticArguments
public com.oracle.truffle.js.parser.env.FunctionEnvironment function();
descriptor: ()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public com.oracle.truffle.api.frame.FrameSlot declareLocalVar(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 1
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Illegal:Lcom/oracle/truffle/api/frame/FrameSlotKind;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findOrAddFrameSlot:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/FrameSlotKind;)Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 1 1 name Ljava/lang/Object;
MethodParameters:
Name Flags
name
public com.oracle.truffle.api.frame.FrameSlot declareVar(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isCallerContextEval:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
aload 1
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.frozen:Z
ifeq 4
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 1
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
ifnonnull 4
3: invokestatic com.oracle.truffle.js.parser.env.FunctionEnvironment.errorFrozenEnv:()Ljava/lang/RuntimeException;
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareLocalVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 5 1 name Ljava/lang/Object;
MethodParameters:
Name Flags
name
public com.oracle.truffle.api.frame.FrameSlot reserveArgumentsSlot();
descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.argumentsSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
ifnonnull 2
1: aload 0
aload 0
ldc "<arguments>"
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.argumentsSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.argumentsSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public com.oracle.truffle.api.frame.FrameSlot getReturnSlot();
descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.returnSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
ifnonnull 2
1: aload 0
aload 0
ldc "<return>"
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareLocalVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.returnSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.returnSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public void reserveThisSlot();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.thisSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
ifnonnull 2
1: aload 0
aload 0
ldc "<this>"
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.thisSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public void reserveNewTargetSlot();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.newTargetSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
ifnonnull 2
1: aload 0
aload 0
ldc "<new.target>"
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.newTargetSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public com.oracle.truffle.api.frame.FrameSlot getAsyncResultSlot();
descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "<asyncresult>"
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareLocalVar:(Ljava/lang/Object;)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/FunctionEnvironment;
public com.oracle.truffle.api.frame.FrameSlot getAsyncContextSlot();
descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "<asynccontext>"
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareLocalVar:(Ljava/lang/Object;)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/FunctionEnvironment;
public com.oracle.truffle.api.frame.FrameSlot getYieldResultSlot();
descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "<yieldresult>"
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareLocalVar:(Ljava/lang/Object;)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/FunctionEnvironment;
public com.oracle.truffle.api.frame.FrameSlot getThisSlot();
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.FunctionEnvironment.thisSlot: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/FunctionEnvironment;
public com.oracle.truffle.api.frame.FrameSlot reserveDynamicScopeSlot();
descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.dynamicScopeSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
ifnonnull 2
1: aload 0
aload 0
ldc "<evalscope>"
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareLocalVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.dynamicScopeSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.dynamicScopeSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isEval();
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.FunctionEnvironment.isEval:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isArrowFunction();
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.FunctionEnvironment.isArrowFunction:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isGeneratorFunction();
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.FunctionEnvironment.isGeneratorFunction:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
protected com.oracle.truffle.api.frame.FrameSlot findBlockFrameSlot(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 1
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public boolean hasLocalVar(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getIdentifiers:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private <T extends com.oracle.truffle.js.nodes.control.BreakTarget> T pushJumpTarget();
descriptor: (Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/nodes/control/BreakTarget;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.jumpTargetStack:Ljava/util/List;
ifnonnull 2
1: aload 0
new java.util.ArrayList
dup
iconst_4
invokespecial java.util.ArrayList.<init>:(I)V
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.jumpTargetStack:Ljava/util/List;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.jumpTargetStack:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: 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/FunctionEnvironment;
0 4 1 target TT;
Signature: <T:Lcom/oracle/truffle/js/nodes/control/BreakTarget;>(TT;)TT;
MethodParameters:
Name Flags
target
private void popJumpTarget(com.oracle.truffle.js.nodes.control.BreakTarget);
descriptor: (Lcom/oracle/truffle/js/nodes/control/BreakTarget;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.parser.env.FunctionEnvironment.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.jumpTargetStack:Ljava/util/List;
ifnull 1
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.jumpTargetStack:Ljava/util/List;
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.jumpTargetStack:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aload 1
if_acmpeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.jumpTargetStack:Ljava/util/List;
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.jumpTargetStack:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 4 1 target Lcom/oracle/truffle/js/nodes/control/BreakTarget;
MethodParameters:
Name Flags
target
public com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable<com.oracle.truffle.js.nodes.control.ContinueTarget> pushContinueTarget();
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
iconst_m1
invokestatic com.oracle.truffle.js.nodes.control.ContinueTarget.forLoop:(Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/control/ContinueTarget;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.pushJumpTarget:(Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/nodes/control/BreakTarget;
pop
2: new com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable
dup
aload 0
aload 2
invokespecial com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.<init>:(Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;Lcom/oracle/truffle/js/nodes/control/BreakTarget;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 3 1 label Ljava/lang/Object;
1 3 2 target Lcom/oracle/truffle/js/nodes/control/ContinueTarget;
Signature: (Ljava/lang/Object;)Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;
MethodParameters:
Name Flags
label
public com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable<com.oracle.truffle.js.nodes.control.BreakTarget> pushBreakTarget();
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
invokestatic com.oracle.truffle.js.nodes.control.BreakTarget.forSwitch:()Lcom/oracle/truffle/js/nodes/control/BreakTarget;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
iconst_m1
invokestatic com.oracle.truffle.js.nodes.control.BreakTarget.forLabel:(Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/control/BreakTarget;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.control.BreakTarget
2: astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.pushJumpTarget:(Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/nodes/control/BreakTarget;
pop
4: new com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable
dup
aload 0
aload 2
invokespecial com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.<init>:(Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;Lcom/oracle/truffle/js/nodes/control/BreakTarget;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 5 1 label Ljava/lang/Object;
3 5 2 target Lcom/oracle/truffle/js/nodes/control/BreakTarget;
Signature: (Ljava/lang/Object;)Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/BreakTarget;>;
MethodParameters:
Name Flags
label
public com.oracle.truffle.js.nodes.control.BreakTarget findBreakTarget(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/control/BreakTarget;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.breakNodeCount:I
iconst_1
iadd
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.breakNodeCount:I
1: aload 0
aload 1
ldc Lcom/oracle/truffle/js/nodes/control/BreakTarget;
iconst_1
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.findJumpTarget:(Ljava/lang/Object;Ljava/lang/Class;Z)Lcom/oracle/truffle/js/nodes/control/BreakTarget;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 2 1 label Ljava/lang/Object;
MethodParameters:
Name Flags
label
public com.oracle.truffle.js.nodes.control.ContinueTarget findContinueTarget(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/control/ContinueTarget;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.continueNodeCount:I
iconst_1
iadd
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.continueNodeCount:I
1: aload 0
aload 1
ldc Lcom/oracle/truffle/js/nodes/control/ContinueTarget;
iconst_0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.findJumpTarget:(Ljava/lang/Object;Ljava/lang/Class;Z)Lcom/oracle/truffle/js/nodes/control/BreakTarget;
checkcast com.oracle.truffle.js.nodes.control.ContinueTarget
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 2 1 label Ljava/lang/Object;
MethodParameters:
Name Flags
label
private <T extends com.oracle.truffle.js.nodes.control.BreakTarget> T findJumpTarget(, java.lang.Class<T>, );
descriptor: (Ljava/lang/Object;Ljava/lang/Class;Z)Lcom/oracle/truffle/js/nodes/control/BreakTarget;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.jumpTargetStack:Ljava/util/List;
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.jumpTargetStack:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.listIterator:(I)Ljava/util/ListIterator;
astore 5
start local 5 2: goto 14
3: StackMap locals: com.oracle.truffle.js.nodes.control.BreakTarget java.util.ListIterator
StackMap stack:
aload 5
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.control.BreakTarget
astore 6
start local 6 4: iload 3
ifne 5
aload 1
ifnonnull 8
5: StackMap locals: com.oracle.truffle.js.nodes.control.BreakTarget
StackMap stack:
aload 1
ifnull 6
aload 1
aload 6
invokevirtual com.oracle.truffle.js.nodes.control.BreakTarget.getLabel:()Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
6: StackMap locals:
StackMap stack:
aload 2
aload 6
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 14
7: aload 2
aload 6
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.control.BreakTarget
areturn
8: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.env.FunctionEnvironment.$assertionsDisabled:Z
ifne 9
iload 3
ifeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 2
aload 6
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 11
10: aload 2
aload 6
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.control.BreakTarget
astore 4
11: StackMap locals:
StackMap stack:
aload 1
aload 6
invokevirtual com.oracle.truffle.js.nodes.control.BreakTarget.getLabel:()Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
12: getstatic com.oracle.truffle.js.parser.env.FunctionEnvironment.$assertionsDisabled:Z
ifne 13
aload 4
ifnonnull 13
new java.lang.AssertionError
dup
ldc "Illegal or duplicate label"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
13: StackMap locals:
StackMap stack:
aload 4
areturn
end local 6 14: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.ListIterator.hasPrevious:()Z
ifne 3
end local 5 15: new java.util.NoSuchElementException
dup
ldc "jump target not found"
invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 16 1 label Ljava/lang/Object;
0 16 2 targetClass Ljava/lang/Class<TT;>;
0 16 3 direct Z
1 16 4 applicableTarget TT;
2 15 5 iterator Ljava/util/ListIterator<Lcom/oracle/truffle/js/nodes/control/BreakTarget;>;
4 14 6 target Lcom/oracle/truffle/js/nodes/control/BreakTarget;
Signature: <T:Lcom/oracle/truffle/js/nodes/control/BreakTarget;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;Z)TT;
MethodParameters:
Name Flags
label
targetClass
direct
public boolean hasReturn();
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.FunctionEnvironment.hasReturn:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public void addReturn();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.hasReturn:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean hasAwait();
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.FunctionEnvironment.hasAwait:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public void addAwait();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.hasAwait:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean hasYield();
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.FunctionEnvironment.hasYield:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public void addYield();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.hasYield:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public void setDirectArgumentsAccess(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.directArgumentsAccess:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 2 1 directArgumentsAccess Z
MethodParameters:
Name Flags
directArgumentsAccess
public boolean isDirectArgumentsAccess();
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.FunctionEnvironment.directArgumentsAccess:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public final int getParameterCount();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parameters:Ljava/util/List;
invokeinterface java.util.List.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public final java.util.List<com.oracle.truffle.api.frame.FrameSlot> getParameters();
descriptor: ()Ljava/util/List;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parameters:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
Signature: ()Ljava/util/List<Lcom/oracle/truffle/api/frame/FrameSlot;>;
public final void declareParameter(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parameters:Ljava/util/List;
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareLocalVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
protected final boolean isParam(com.oracle.truffle.api.frame.FrameSlot);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;)Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parameters:Ljava/util/List;
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 1 1 slot Lcom/oracle/truffle/api/frame/FrameSlot;
MethodParameters:
Name Flags
slot
protected final int getParameterIndex(com.oracle.truffle.api.frame.FrameSlot);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;)I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parameters:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parameters:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aload 1
if_acmpne 4
3: iload 2
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
5: iload 2
ifge 2
end local 2 6: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 7 1 slot Lcom/oracle/truffle/api/frame/FrameSlot;
1 6 2 i I
MethodParameters:
Name Flags
slot
public final boolean isParameter(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parameters:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.frame.FrameSlot
invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parameters:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 2
end local 2 6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 7 1 name Ljava/lang/String;
1 6 2 i I
MethodParameters:
Name Flags
name
public final java.lang.String getFunctionName();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.functionName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public final void setFunctionName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.functionName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 2 1 functionName Ljava/lang/String;
MethodParameters:
Name Flags
functionName
public final java.lang.String getInternalFunctionName();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.internalFunctionName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public final void setInternalFunctionName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.internalFunctionName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 2 1 internalFunctionName Ljava/lang/String;
MethodParameters:
Name Flags
internalFunctionName
public final void setNamedFunctionExpression(boolean);
descriptor: (Z)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isNamedExpression:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 2 1 isNamedExpression Z
MethodParameters:
Name Flags
isNamedExpression
protected final boolean isNamedFunctionExpression();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isNamedExpression:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public final boolean needsParentFrame();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.needsParentFrame:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public final void setNeedsParentFrame(boolean);
descriptor: (Z)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.frozen:Z
ifeq 2
iload 1
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.needsParentFrame:Z
if_icmpeq 2
1: invokestatic com.oracle.truffle.js.parser.env.FunctionEnvironment.errorFrozenEnv:()Ljava/lang/RuntimeException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.needsParentFrame:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 4 1 needsParentFrame Z
MethodParameters:
Name Flags
needsParentFrame
private static java.lang.RuntimeException errorFrozenEnv();
descriptor: ()Ljava/lang/RuntimeException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.IllegalStateException
dup
ldc "frozen function environment cannot be mutated"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
public void freeze();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.frozen:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.frozen:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isFrozen();
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.FunctionEnvironment.frozen:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isDeepFrozen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isFrozen:()Z
ifeq 2
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
ifnull 1
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDeepFrozen:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public final boolean hasArgumentsSlot();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.argumentsSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
protected final com.oracle.truffle.api.frame.FrameSlot getArgumentsSlot();
descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.argumentsSlot: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/FunctionEnvironment;
public final com.oracle.truffle.api.frame.FrameDescriptor getFunctionFrameDescriptor();
descriptor: ()Lcom/oracle/truffle/api/frame/FrameDescriptor;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public final boolean isStrictMode();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isStrictMode:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public final com.oracle.truffle.js.parser.env.FunctionEnvironment getParentFunction();
descriptor: ()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parent:Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public final com.oracle.truffle.js.parser.env.FunctionEnvironment getParentFunction(int);
descriptor: (I)Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.parser.env.FunctionEnvironment.$assertionsDisabled:Z
ifne 1
iload 1
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 1
ifne 3
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.parent:Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
iload 1
iconst_1
isub
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:(I)Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 4 1 level I
MethodParameters:
Name Flags
level
public final com.oracle.truffle.js.parser.env.FunctionEnvironment getNonArrowParentFunction();
descriptor: ()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isArrowFunction:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getNonArrowParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public com.oracle.truffle.api.frame.FrameSlot[] getParentSlots();
descriptor: ()[Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.nodes.access.ScopeFrameNode.EMPTY_FRAME_SLOT_ARRAY:[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/FunctionEnvironment;
public boolean isGlobal();
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.FunctionEnvironment.isGlobal:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean hasSyntheticArguments();
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.FunctionEnvironment.hasSyntheticArguments:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean returnsLastStatementResult();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.hasSyntheticArguments:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public void setIsDynamicallyScoped(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isDynamicallyScoped:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 2 1 isDynamicallyScoped Z
MethodParameters:
Name Flags
isDynamicallyScoped
public boolean isDynamicallyScoped();
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.FunctionEnvironment.isDynamicallyScoped:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isDynamicScopeContext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDynamicallyScoped:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isCallerContextEval:()Z
ifne 1
aload 0
invokespecial com.oracle.truffle.js.parser.env.Environment.isDynamicScopeContext:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public com.oracle.truffle.js.parser.env.Environment getVariableEnvironment();
descriptor: ()Lcom/oracle/truffle/js/parser/env/Environment;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isCallerContextEval:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getVariableEnvironment:()Lcom/oracle/truffle/js/parser/env/Environment;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isDirectEval();
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.FunctionEnvironment.isDirectEval:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isIndirectEval();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isEval:()Z
ifeq 1
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isCallerContextEval();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifeq 1
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isStrictMode:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean inDirectEval();
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.FunctionEnvironment.inDirectEval:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public void reserveSuperSlot();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.superSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
ifnonnull 2
1: aload 0
aload 0
ldc "<super>"
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.superSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public com.oracle.truffle.api.frame.FrameSlot getSuperSlot();
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.FunctionEnvironment.superSlot: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/FunctionEnvironment;
public com.oracle.truffle.api.frame.FrameSlot getNewTargetSlot();
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.FunctionEnvironment.newTargetSlot: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/FunctionEnvironment;
public void setRestParameter(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.hasRestParameter:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 2 1 restParameter Z
MethodParameters:
Name Flags
restParameter
public boolean hasRestParameter();
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.FunctionEnvironment.hasRestParameter:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public void setSimpleParameterList(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.js.parser.env.FunctionEnvironment.simpleParameterList:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 2 1 simpleParameterList Z
MethodParameters:
Name Flags
simpleParameterList
public boolean hasSimpleParameterList();
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.FunctionEnvironment.simpleParameterList:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public int getLeadingArgumentCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getNewTargetSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public int getTrailingArgumentCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isDerivedConstructor();
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.FunctionEnvironment.isDerivedConstructor:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public int getThisFunctionLevel();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
astore 2
start local 2 2: goto 5
3: StackMap locals: int com.oracle.truffle.js.parser.env.FunctionEnvironment
StackMap stack:
aload 2
iconst_1
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setNeedsParentFrame:(Z)V
4: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 2
iinc 1 1
StackMap locals:
StackMap stack:
5: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isArrowFunction:()Z
ifne 3
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifne 3
end local 2 6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
1 7 1 level I
2 6 2 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public int getOutermostFunctionLevel();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
astore 2
start local 2 2: goto 5
3: StackMap locals: int com.oracle.truffle.js.parser.env.FunctionEnvironment
StackMap stack:
aload 2
iconst_1
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setNeedsParentFrame:(Z)V
4: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 2
iinc 1 1
StackMap locals:
StackMap stack:
5: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
ifnonnull 3
end local 2 6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
1 7 1 level I
2 6 2 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isAsyncFunction();
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.FunctionEnvironment.isAsyncFunction:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
public boolean isAsyncGeneratorFunction();
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.FunctionEnvironment.isAsyncFunction:Z
ifeq 1
aload 0
getfield com.oracle.truffle.js.parser.env.FunctionEnvironment.isGeneratorFunction:Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
}
SourceFile: "FunctionEnvironment.java"
NestMembers:
com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable
InnerClasses:
public JumpTargetCloseable = com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable of com.oracle.truffle.js.parser.env.FunctionEnvironment