public class org.jruby.ast.HashNode extends org.jruby.ast.Node implements org.jruby.ast.types.ILiteralNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ast.HashNode
super_class: org.jruby.ast.Node
{
private final java.util.List<org.jruby.util.KeyValuePair<org.jruby.ast.Node, org.jruby.ast.Node>> pairs;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;>;>;
private boolean hasOnlySymbolKeys;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(org.jruby.lexer.yacc.ISourcePosition);
descriptor: (Lorg/jruby/lexer/yacc/ISourcePosition;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokespecial org.jruby.ast.Node.<init>:(Lorg/jruby/lexer/yacc/ISourcePosition;Z)V
1: aload 0
iconst_1
putfield org.jruby.ast.HashNode.hasOnlySymbolKeys:Z
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.jruby.ast.HashNode.pairs:Ljava/util/List;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ast/HashNode;
0 4 1 position Lorg/jruby/lexer/yacc/ISourcePosition;
MethodParameters:
Name Flags
position
public void <init>(org.jruby.lexer.yacc.ISourcePosition, org.jruby.util.KeyValuePair<org.jruby.ast.Node, org.jruby.ast.Node>);
descriptor: (Lorg/jruby/lexer/yacc/ISourcePosition;Lorg/jruby/util/KeyValuePair;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.jruby.ast.HashNode.<init>:(Lorg/jruby/lexer/yacc/ISourcePosition;)V
1: aload 0
aload 2
invokevirtual org.jruby.ast.HashNode.add:(Lorg/jruby/util/KeyValuePair;)Lorg/jruby/ast/HashNode;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ast/HashNode;
0 3 1 position Lorg/jruby/lexer/yacc/ISourcePosition;
0 3 2 pair Lorg/jruby/util/KeyValuePair<Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;>;
Signature: (Lorg/jruby/lexer/yacc/ISourcePosition;Lorg/jruby/util/KeyValuePair<Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;>;)V
MethodParameters:
Name Flags
position
pair
public boolean hasOnlySymbolKeys();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ast.HashNode.hasOnlySymbolKeys:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ast/HashNode;
public org.jruby.ast.NodeType getNodeType();
descriptor: ()Lorg/jruby/ast/NodeType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.jruby.ast.NodeType.HASHNODE:Lorg/jruby/ast/NodeType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ast/HashNode;
public org.jruby.ast.HashNode add(org.jruby.util.KeyValuePair<org.jruby.ast.Node, org.jruby.ast.Node>);
descriptor: (Lorg/jruby/util/KeyValuePair;)Lorg/jruby/ast/HashNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.util.KeyValuePair.getKey:()Ljava/lang/Object;
ifnull 1
aload 1
invokevirtual org.jruby.util.KeyValuePair.getKey:()Ljava/lang/Object;
checkcast org.jruby.ast.Node
invokevirtual org.jruby.ast.Node.containsVariableAssignment:()Z
ifne 2
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.util.KeyValuePair.getValue:()Ljava/lang/Object;
ifnull 3
aload 1
invokevirtual org.jruby.util.KeyValuePair.getValue:()Ljava/lang/Object;
checkcast org.jruby.ast.Node
invokevirtual org.jruby.ast.Node.containsVariableAssignment:()Z
ifeq 3
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.jruby.ast.HashNode.containsVariableAssignment:Z
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.util.KeyValuePair.getKey:()Ljava/lang/Object;
instanceof org.jruby.ast.SymbolNode
ifeq 4
aload 1
invokevirtual org.jruby.util.KeyValuePair.getKey:()Ljava/lang/Object;
ifnonnull 5
StackMap locals:
StackMap stack:
4: aload 0
iconst_0
putfield org.jruby.ast.HashNode.hasOnlySymbolKeys:Z
5: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ast.HashNode.pairs:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ast/HashNode;
0 7 1 pair Lorg/jruby/util/KeyValuePair<Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;>;
Signature: (Lorg/jruby/util/KeyValuePair<Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;>;)Lorg/jruby/ast/HashNode;
MethodParameters:
Name Flags
pair
public <T> T accept(org.jruby.ast.visitor.NodeVisitor<T>);
descriptor: (Lorg/jruby/ast/visitor/NodeVisitor;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokeinterface org.jruby.ast.visitor.NodeVisitor.visitHashNode:(Lorg/jruby/ast/HashNode;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ast/HashNode;
0 1 1 iVisitor Lorg/jruby/ast/visitor/NodeVisitor<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/jruby/ast/visitor/NodeVisitor<TT;>;)TT;
MethodParameters:
Name Flags
iVisitor
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ast.HashNode.pairs:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ast/HashNode;
public java.util.List<org.jruby.util.KeyValuePair<org.jruby.ast.Node, org.jruby.ast.Node>> getPairs();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ast.HashNode.pairs:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ast/HashNode;
Signature: ()Ljava/util/List<Lorg/jruby/util/KeyValuePair<Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;>;>;
public java.util.List<org.jruby.ast.Node> childNodes();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.jruby.ast.HashNode.pairs:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.jruby.ast.HashNode java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.util.KeyValuePair
astore 2
start local 2 3: aload 1
aload 2
invokevirtual org.jruby.util.KeyValuePair.getKey:()Ljava/lang/Object;
checkcast org.jruby.ast.Node
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 1
aload 2
invokevirtual org.jruby.util.KeyValuePair.getValue:()Ljava/lang/Object;
checkcast org.jruby.ast.Node
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ast/HashNode;
1 7 1 children Ljava/util/List<Lorg/jruby/ast/Node;>;
3 5 2 pair Lorg/jruby/util/KeyValuePair<Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;>;
Signature: ()Ljava/util/List<Lorg/jruby/ast/Node;>;
}
SourceFile: "HashNode.java"