class com.oracle.js.parser.ParserContext
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.js.parser.ParserContext
super_class: java.lang.Object
{
private com.oracle.js.parser.ParserContextNode[] stack;
descriptor: [Lcom/oracle/js/parser/ParserContextNode;
flags: (0x0002) ACC_PRIVATE
private int sp;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int INITIAL_DEPTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
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/js/parser/ParserContext;
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.js.parser.ParserContext.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.oracle.js.parser.ParserContext.sp:I
2: aload 0
bipush 16
anewarray com.oracle.js.parser.ParserContextNode
putfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/js/parser/ParserContext;
public <T extends com.oracle.js.parser.ParserContextNode> T push();
descriptor: (Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.js.parser.ParserContext.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
invokevirtual com.oracle.js.parser.ParserContext.contains:(Lcom/oracle/js/parser/ParserContextNode;)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
arraylength
if_icmpne 5
2: aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
iconst_2
imul
anewarray com.oracle.js.parser.ParserContextNode
astore 2
start local 2 3: aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
iconst_0
aload 2
iconst_0
aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 0
aload 2
putfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
aload 1
aastore
6: aload 0
dup
getfield com.oracle.js.parser.ParserContext.sp:I
iconst_1
iadd
putfield com.oracle.js.parser.ParserContext.sp:I
7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/js/parser/ParserContext;
0 8 1 node TT;
3 5 2 newStack [Lcom/oracle/js/parser/ParserContextNode;
Signature: <T::Lcom/oracle/js/parser/ParserContextNode;>(TT;)TT;
MethodParameters:
Name Flags
node final
public com.oracle.js.parser.ParserContextNode peek();
descriptor: ()Lcom/oracle/js/parser/ParserContextNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
iconst_1
isub
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/js/parser/ParserContext;
public <T extends com.oracle.js.parser.ParserContextNode> T pop();
descriptor: (Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.oracle.js.parser.ParserContext.sp:I
iconst_1
isub
putfield com.oracle.js.parser.ParserContext.sp:I
1: aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
aaload
astore 2
start local 2 2: aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
aconst_null
aastore
3: getstatic com.oracle.js.parser.ParserContext.$assertionsDisabled:Z
ifne 4
aload 1
aload 2
if_acmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: com.oracle.js.parser.ParserContextNode
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/js/parser/ParserContext;
0 5 1 node TT;
2 5 2 popped TT;
Signature: <T::Lcom/oracle/js/parser/ParserContextNode;>(TT;)TT;
MethodParameters:
Name Flags
node final
public boolean contains(com.oracle.js.parser.ParserContextNode);
descriptor: (Lcom/oracle/js/parser/ParserContextNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, 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 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
iload 2
aaload
aload 1
if_acmpne 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.js.parser.ParserContext.sp: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/js/parser/ParserContext;
0 7 1 node Lcom/oracle/js/parser/ParserContextNode;
1 6 2 i I
MethodParameters:
Name Flags
node final
private com.oracle.js.parser.ParserContextBreakableNode getBreakable();
descriptor: ()Lcom/oracle/js/parser/ParserContextBreakableNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: new com.oracle.js.parser.ParserContext$NodeIterator
dup
aload 0
ldc Lcom/oracle/js/parser/ParserContextBreakableNode;
aload 0
invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
invokespecial com.oracle.js.parser.ParserContext$NodeIterator.<init>:(Lcom/oracle/js/parser/ParserContext;Ljava/lang/Class;Lcom/oracle/js/parser/ParserContextNode;)V
astore 1
start local 1 1: goto 5
2: StackMap locals: com.oracle.js.parser.ParserContext$NodeIterator
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ParserContext$NodeIterator.next:()Lcom/oracle/js/parser/ParserContextNode;
checkcast com.oracle.js.parser.ParserContextBreakableNode
astore 2
start local 2 3: aload 2
invokeinterface com.oracle.js.parser.ParserContextBreakableNode.isBreakableWithoutLabel:()Z
ifeq 5
4: aload 2
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ParserContext$NodeIterator.hasNext:()Z
ifne 2
end local 1 6: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/js/parser/ParserContext;
1 6 1 iter Lcom/oracle/js/parser/ParserContext$NodeIterator<Lcom/oracle/js/parser/ParserContextBreakableNode;>;
3 5 2 next Lcom/oracle/js/parser/ParserContextBreakableNode;
public com.oracle.js.parser.ParserContextBreakableNode getBreakable(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/js/parser/ParserContextBreakableNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 10
1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ParserContext.findLabel:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserContextLabelNode;
astore 2
start local 2 2: aload 2
ifnull 9
3: aconst_null
astore 3
start local 3 4: new com.oracle.js.parser.ParserContext$NodeIterator
dup
aload 0
ldc Lcom/oracle/js/parser/ParserContextBreakableNode;
aload 2
invokespecial com.oracle.js.parser.ParserContext$NodeIterator.<init>:(Lcom/oracle/js/parser/ParserContext;Ljava/lang/Class;Lcom/oracle/js/parser/ParserContextNode;)V
astore 4
start local 4 5: goto 7
6: StackMap locals: com.oracle.js.parser.ParserContextLabelNode com.oracle.js.parser.ParserContextBreakableNode com.oracle.js.parser.ParserContext$NodeIterator
StackMap stack:
aload 4
invokevirtual com.oracle.js.parser.ParserContext$NodeIterator.next:()Lcom/oracle/js/parser/ParserContextNode;
checkcast com.oracle.js.parser.ParserContextBreakableNode
astore 3
7: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.js.parser.ParserContext$NodeIterator.hasNext:()Z
ifne 6
end local 4 8: aload 3
areturn
end local 3 9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 10: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.js.parser.ParserContext.getBreakable:()Lcom/oracle/js/parser/ParserContextBreakableNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/js/parser/ParserContext;
0 11 1 labelName Ljava/lang/String;
2 10 2 foundLabel Lcom/oracle/js/parser/ParserContextLabelNode;
4 9 3 breakable Lcom/oracle/js/parser/ParserContextBreakableNode;
5 8 4 iter Lcom/oracle/js/parser/ParserContext$NodeIterator<Lcom/oracle/js/parser/ParserContextBreakableNode;>;
MethodParameters:
Name Flags
labelName final
public com.oracle.js.parser.ParserContextLoopNode getCurrentLoop();
descriptor: ()Lcom/oracle/js/parser/ParserContextLoopNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new com.oracle.js.parser.ParserContext$NodeIterator
dup
aload 0
ldc Lcom/oracle/js/parser/ParserContextLoopNode;
aload 0
invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
invokespecial com.oracle.js.parser.ParserContext$NodeIterator.<init>:(Lcom/oracle/js/parser/ParserContext;Ljava/lang/Class;Lcom/oracle/js/parser/ParserContextNode;)V
astore 1
start local 1 1: aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 2
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ParserContextLoopNode
goto 3
StackMap locals: java.util.Iterator
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: com.oracle.js.parser.ParserContextLoopNode
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/js/parser/ParserContext;
1 4 1 iter Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextLoopNode;>;
private com.oracle.js.parser.ParserContextLoopNode getContinueTo();
descriptor: ()Lcom/oracle/js/parser/ParserContextLoopNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.js.parser.ParserContext.getCurrentLoop:()Lcom/oracle/js/parser/ParserContextLoopNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/js/parser/ParserContext;
public com.oracle.js.parser.ParserContextLoopNode getContinueTo(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/js/parser/ParserContextLoopNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 10
1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ParserContext.findLabel:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserContextLabelNode;
astore 2
start local 2 2: aload 2
ifnull 9
3: aconst_null
astore 3
start local 3 4: new com.oracle.js.parser.ParserContext$NodeIterator
dup
aload 0
ldc Lcom/oracle/js/parser/ParserContextLoopNode;
aload 2
invokespecial com.oracle.js.parser.ParserContext$NodeIterator.<init>:(Lcom/oracle/js/parser/ParserContext;Ljava/lang/Class;Lcom/oracle/js/parser/ParserContextNode;)V
astore 4
start local 4 5: goto 7
6: StackMap locals: com.oracle.js.parser.ParserContextLabelNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ParserContext$NodeIterator
StackMap stack:
aload 4
invokevirtual com.oracle.js.parser.ParserContext$NodeIterator.next:()Lcom/oracle/js/parser/ParserContextNode;
checkcast com.oracle.js.parser.ParserContextLoopNode
astore 3
7: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.js.parser.ParserContext$NodeIterator.hasNext:()Z
ifne 6
end local 4 8: aload 3
areturn
end local 3 9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 10: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.js.parser.ParserContext.getContinueTo:()Lcom/oracle/js/parser/ParserContextLoopNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/js/parser/ParserContext;
0 11 1 labelName Ljava/lang/String;
2 10 2 foundLabel Lcom/oracle/js/parser/ParserContextLabelNode;
4 9 3 loop Lcom/oracle/js/parser/ParserContextLoopNode;
5 8 4 iter Lcom/oracle/js/parser/ParserContext$NodeIterator<Lcom/oracle/js/parser/ParserContextLoopNode;>;
MethodParameters:
Name Flags
labelName final
public com.oracle.js.parser.ParserContextLabelNode findLabel(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/js/parser/ParserContextLabelNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new com.oracle.js.parser.ParserContext$NodeIterator
dup
aload 0
ldc Lcom/oracle/js/parser/ParserContextLabelNode;
aload 0
invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
invokespecial com.oracle.js.parser.ParserContext$NodeIterator.<init>:(Lcom/oracle/js/parser/ParserContext;Ljava/lang/Class;Lcom/oracle/js/parser/ParserContextNode;)V
astore 2
start local 2 1: goto 5
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ParserContextLabelNode
astore 3
start local 3 3: aload 3
invokevirtual com.oracle.js.parser.ParserContextLabelNode.getLabelName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 3
areturn
end local 3 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 2 6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/js/parser/ParserContext;
0 7 1 name Ljava/lang/String;
1 6 2 iter Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextLabelNode;>;
3 5 3 next Lcom/oracle/js/parser/ParserContextLabelNode;
MethodParameters:
Name Flags
name final
public void prependStatementToCurrentNode(com.oracle.js.parser.ir.Statement);
descriptor: (Lcom/oracle/js/parser/ir/Statement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.js.parser.ParserContext.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
iconst_1
isub
aaload
aload 1
invokeinterface com.oracle.js.parser.ParserContextNode.prependStatement:(Lcom/oracle/js/parser/ir/Statement;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/js/parser/ParserContext;
0 3 1 statement Lcom/oracle/js/parser/ir/Statement;
MethodParameters:
Name Flags
statement final
public void appendStatementToCurrentNode(com.oracle.js.parser.ir.Statement);
descriptor: (Lcom/oracle/js/parser/ir/Statement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.js.parser.ParserContext.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
iconst_1
isub
aaload
aload 1
invokeinterface com.oracle.js.parser.ParserContextNode.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/js/parser/ParserContext;
0 3 1 statement Lcom/oracle/js/parser/ir/Statement;
MethodParameters:
Name Flags
statement final
public com.oracle.js.parser.ParserContextFunctionNode getCurrentFunction();
descriptor: ()Lcom/oracle/js/parser/ParserContextFunctionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
iconst_1
isub
istore 1
start local 1 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
iload 1
aaload
instanceof com.oracle.js.parser.ParserContextFunctionNode
ifeq 4
3: aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
iload 1
aaload
checkcast com.oracle.js.parser.ParserContextFunctionNode
areturn
4: StackMap locals:
StackMap stack:
iinc 1 -1
StackMap locals:
StackMap stack:
5: iload 1
ifge 2
end local 1 6: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/js/parser/ParserContext;
1 6 1 i I
public java.util.Iterator<com.oracle.js.parser.ParserContextBlockNode> getBlocks();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.oracle.js.parser.ParserContext$NodeIterator
dup
aload 0
ldc Lcom/oracle/js/parser/ParserContextBlockNode;
invokespecial com.oracle.js.parser.ParserContext$NodeIterator.<init>:(Lcom/oracle/js/parser/ParserContext;Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/js/parser/ParserContext;
Signature: ()Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextBlockNode;>;
public com.oracle.js.parser.ParserContextBlockNode getCurrentBlock();
descriptor: ()Lcom/oracle/js/parser/ParserContextBlockNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.js.parser.ParserContext.getBlocks:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ParserContextBlockNode
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/js/parser/ParserContext;
public com.oracle.js.parser.ir.Statement getLastStatement();
descriptor: ()Lcom/oracle/js/parser/ir/Statement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.js.parser.ParserContext.stack:[Lcom/oracle/js/parser/ParserContextNode;
aload 0
getfield com.oracle.js.parser.ParserContext.sp:I
iconst_1
isub
aaload
astore 1
start local 1 3: aload 1
invokeinterface com.oracle.js.parser.ParserContextNode.getStatements:()Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 2
start local 2 4: iload 2
ifne 5
aconst_null
goto 6
StackMap locals: com.oracle.js.parser.ParserContextNode int
StackMap stack:
5: aload 1
invokeinterface com.oracle.js.parser.ParserContextNode.getStatements:()Ljava/util/List;
iload 2
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Statement
StackMap locals:
StackMap stack: com.oracle.js.parser.ir.Statement
6: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/js/parser/ParserContext;
3 7 1 top Lcom/oracle/js/parser/ParserContextNode;
4 7 2 s I
public java.util.Iterator<com.oracle.js.parser.ParserContextFunctionNode> getFunctions();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.oracle.js.parser.ParserContext$NodeIterator
dup
aload 0
ldc Lcom/oracle/js/parser/ParserContextFunctionNode;
invokespecial com.oracle.js.parser.ParserContext$NodeIterator.<init>:(Lcom/oracle/js/parser/ParserContext;Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/js/parser/ParserContext;
Signature: ()Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextFunctionNode;>;
public com.oracle.js.parser.ParserContextFunctionNode getCurrentNonArrowFunction();
descriptor: ()Lcom/oracle/js/parser/ParserContextFunctionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.js.parser.ParserContext.getFunctions:()Ljava/util/Iterator;
astore 1
start local 1 1: goto 5
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ParserContextFunctionNode
astore 2
start local 2 3: aload 2
invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isArrow:()Z
ifne 5
4: aload 2
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/js/parser/ParserContext;
1 7 1 iter Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextFunctionNode;>;
3 5 2 fn Lcom/oracle/js/parser/ParserContextFunctionNode;
public com.oracle.js.parser.ir.Scope getCurrentScope();
descriptor: ()Lcom/oracle/js/parser/ir/Scope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new com.oracle.js.parser.ParserContext$NodeIterator
dup
aload 0
ldc Lcom/oracle/js/parser/ParserContextScopableNode;
invokespecial com.oracle.js.parser.ParserContext$NodeIterator.<init>:(Lcom/oracle/js/parser/ParserContext;Ljava/lang/Class;)V
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.js.parser.ParserContext$NodeIterator.hasNext:()Z
ifeq 2
aload 1
invokevirtual com.oracle.js.parser.ParserContext$NodeIterator.next:()Lcom/oracle/js/parser/ParserContextNode;
checkcast com.oracle.js.parser.ParserContextScopableNode
invokeinterface com.oracle.js.parser.ParserContextScopableNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
goto 3
StackMap locals: com.oracle.js.parser.ParserContext$NodeIterator
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: com.oracle.js.parser.ir.Scope
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/js/parser/ParserContext;
1 4 1 iterator Lcom/oracle/js/parser/ParserContext$NodeIterator<Lcom/oracle/js/parser/ParserContextScopableNode;>;
public com.oracle.js.parser.ParserContextClassNode getCurrentClass();
descriptor: ()Lcom/oracle/js/parser/ParserContextClassNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new com.oracle.js.parser.ParserContext$NodeIterator
dup
aload 0
ldc Lcom/oracle/js/parser/ParserContextClassNode;
invokespecial com.oracle.js.parser.ParserContext$NodeIterator.<init>:(Lcom/oracle/js/parser/ParserContext;Ljava/lang/Class;)V
astore 1
start local 1 1: aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 2
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ParserContextClassNode
goto 3
StackMap locals: java.util.Iterator
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: com.oracle.js.parser.ParserContextClassNode
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/js/parser/ParserContext;
1 4 1 iter Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextClassNode;>;
public java.util.Iterator<com.oracle.js.parser.ParserContextClassNode> getClasses();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.oracle.js.parser.ParserContext$NodeIterator
dup
aload 0
ldc Lcom/oracle/js/parser/ParserContextClassNode;
invokespecial com.oracle.js.parser.ParserContext$NodeIterator.<init>:(Lcom/oracle/js/parser/ParserContext;Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/js/parser/ParserContext;
Signature: ()Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextClassNode;>;
}
SourceFile: "ParserContext.java"
NestMembers:
com.oracle.js.parser.ParserContext$NodeIterator
InnerClasses:
private NodeIterator = com.oracle.js.parser.ParserContext$NodeIterator of com.oracle.js.parser.ParserContext