class com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor extends com.oracle.js.parser.ir.visitor.NodeVisitor<com.oracle.js.parser.ir.LexicalContext>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor
super_class: com.oracle.js.parser.ir.visitor.NodeVisitor
{
boolean directArgumentsAccess;
descriptor: Z
flags: (0x0000)
private final com.oracle.js.parser.ir.FunctionNode val$functionNode;
descriptor: Lcom/oracle/js/parser/ir/FunctionNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.oracle.truffle.js.parser.env.FunctionEnvironment val$currentFunction;
descriptor: Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.FunctionNode, com.oracle.truffle.js.parser.env.FunctionEnvironment);
descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 0: aload 0
aload 2
putfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.val$functionNode:Lcom/oracle/js/parser/ir/FunctionNode;
aload 0
aload 3
putfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.val$currentFunction:Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
1: aload 0
aload 1
invokespecial com.oracle.js.parser.ir.visitor.NodeVisitor.<init>:(Lcom/oracle/js/parser/ir/LexicalContext;)V
2: aload 0
iconst_1
putfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.directArgumentsAccess:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator$1DirectArgumentsAccessVisitor;
0 4 1 lc Lcom/oracle/js/parser/ir/LexicalContext;
MethodParameters:
Name Flags
lc
val$functionNode final
val$currentFunction final
public boolean enterIdentNode(com.oracle.js.parser.ir.IdentNode);
descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.isArguments:()Z
ifeq 3
aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.isPropertyName:()Z
ifne 3
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.val$functionNode:Lcom/oracle/js/parser/ir/FunctionNode;
invokevirtual com.oracle.js.parser.ir.FunctionNode.needsArguments:()Z
ifeq 3
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.val$currentFunction:Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifne 3
aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.isApplyArguments:()Z
ifne 3
1: aload 0
iconst_0
putfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.directArgumentsAccess:Z
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.checkParameterUse:(Lcom/oracle/js/parser/ir/IdentNode;)V
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator$1DirectArgumentsAccessVisitor;
0 5 1 identNode Lcom/oracle/js/parser/ir/IdentNode;
MethodParameters:
Name Flags
identNode
private void checkParameterUse(com.oracle.js.parser.ir.IdentNode);
descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.directArgumentsAccess:Z
ifeq 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.val$currentFunction:Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isStrictMode:()Z
ifne 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.val$currentFunction:Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isParameter:(Ljava/lang/String;)Z
ifeq 2
1: aload 0
iconst_0
putfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.directArgumentsAccess:Z
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator$1DirectArgumentsAccessVisitor;
0 3 1 identNode Lcom/oracle/js/parser/ir/IdentNode;
MethodParameters:
Name Flags
identNode
public boolean enterFunctionNode(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.val$functionNode:Lcom/oracle/js/parser/ir/FunctionNode;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isArrow:()Z
ifne 3
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.val$currentFunction:Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isStrictMode:()Z
ifne 4
3: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.directArgumentsAccess:Z
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator$1DirectArgumentsAccessVisitor;
0 5 1 nestedFunctionNode Lcom/oracle/js/parser/ir/FunctionNode;
MethodParameters:
Name Flags
nestedFunctionNode
}
Signature: Lcom/oracle/js/parser/ir/visitor/NodeVisitor<Lcom/oracle/js/parser/ir/LexicalContext;>;
SourceFile: "GraalJSTranslator.java"
EnclosingMethod: com.oracle.truffle.js.parser.GraalJSTranslator.checkDirectArgumentsAccess:(Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;)Z
NestHost: com.oracle.truffle.js.parser.GraalJSTranslator
InnerClasses:
DirectArgumentsAccessVisitor = com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor