final class jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode implements jdk.internal.net.http.hpack.QuickHuffman$Node
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode
super_class: java.lang.Object
{
private final char symbol;
descriptor: C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean eosPath;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int length;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode> children;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;>;
public static jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode copyOf(jdk.internal.net.http.hpack.QuickHuffman$Node);
descriptor: (Ljdk/internal/net/http/hpack/QuickHuffman$Node;)Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface jdk.internal.net.http.hpack.QuickHuffman$Node.isLeaf:()Z
ifeq 4
1: new jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode
dup
aload 0
invokeinterface jdk.internal.net.http.hpack.QuickHuffman$Node.getSymbol:()C
aload 0
invokeinterface jdk.internal.net.http.hpack.QuickHuffman$Node.isEOSPath:()Z
2: aload 0
invokeinterface jdk.internal.net.http.hpack.QuickHuffman$Node.getLength:()I
3: invokespecial jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.<init>:(CZI)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokeinterface jdk.internal.net.http.hpack.QuickHuffman$Node.getChildren:()[Ljdk/internal/net/http/hpack/QuickHuffman$Node;
astore 1
start local 1 5: aload 1
arraylength
anewarray jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode
astore 2
start local 2 6: iconst_0
istore 3
start local 3 7: goto 10
8: StackMap locals: jdk.internal.net.http.hpack.QuickHuffman$Node[] jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
aaload
invokestatic jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.copyOf:(Ljdk/internal/net/http/hpack/QuickHuffman$Node;)Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
aastore
9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 1
arraylength
if_icmplt 8
end local 3 11: new jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode
dup
aload 0
invokeinterface jdk.internal.net.http.hpack.QuickHuffman$Node.isEOSPath:()Z
aload 0
invokeinterface jdk.internal.net.http.hpack.QuickHuffman$Node.getLength:()I
12: aload 2
13: invokespecial jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.<init>:(ZI[Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 node Ljdk/internal/net/http/hpack/QuickHuffman$Node;
5 14 1 children [Ljdk/internal/net/http/hpack/QuickHuffman$Node;
6 14 2 immutableChildren [Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
7 11 3 i I
MethodParameters:
Name Flags
node
private void <init>(char, boolean, int);
descriptor: (CZI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.symbol:C
2: aload 0
iload 2
putfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.eosPath:Z
3: aload 0
iload 3
putfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.length:I
4: aload 0
invokestatic java.util.List.of:()Ljava/util/List;
putfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.children:Ljava/util/List;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
0 6 1 symbol C
0 6 2 eosPath Z
0 6 3 length I
MethodParameters:
Name Flags
symbol
eosPath
length
private void <init>(boolean, int, jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode[]);
descriptor: (ZI[Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.symbol:C
2: aload 0
iload 1
putfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.eosPath:Z
3: aload 0
iload 2
putfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.length:I
4: aload 3
arraylength
ifne 6
5: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
6: StackMap locals: jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode int int jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode[]
StackMap stack:
aload 0
aload 3
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
putfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.children:Ljava/util/List;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
0 8 1 eosPath Z
0 8 2 length I
0 8 3 children [Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
MethodParameters:
Name Flags
eosPath
length
children
public boolean isLeaf();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.children:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
public boolean isEOSPath();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.eosPath:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
public void setEOSPath(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
0 1 1 value Z
MethodParameters:
Name Flags
value
public jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode getChild(int);
descriptor: (I)Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.children:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
0 1 1 index I
MethodParameters:
Name Flags
index
public jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode getOrCreateChild(int);
descriptor: (I)Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
0 1 1 index I
MethodParameters:
Name Flags
index
public jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode[] getChildren();
descriptor: ()[Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
public char getSymbol();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.symbol:C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
public void setSymbol(char);
descriptor: (C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
0 1 1 symbol C
MethodParameters:
Name Flags
symbol
public int getLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.length:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
public void setLength(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
0 1 1 value I
MethodParameters:
Name Flags
value
public jdk.internal.net.http.hpack.QuickHuffman$Node[] getChildren();
descriptor: ()[Ljdk/internal/net/http/hpack/QuickHuffman$Node;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.getChildren:()[Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public jdk.internal.net.http.hpack.QuickHuffman$Node getChild(int);
descriptor: (I)Ljdk/internal/net/http/hpack/QuickHuffman$Node;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.getChild:(I)Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public jdk.internal.net.http.hpack.QuickHuffman$Node getOrCreateChild(int);
descriptor: (I)Ljdk/internal/net/http/hpack/QuickHuffman$Node;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode.getOrCreateChild:(I)Ljdk/internal/net/http/hpack/QuickHuffman$ImmutableNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "QuickHuffman.java"
NestHost: jdk.internal.net.http.hpack.QuickHuffman
InnerClasses:
final ImmutableNode = jdk.internal.net.http.hpack.QuickHuffman$ImmutableNode of jdk.internal.net.http.hpack.QuickHuffman
abstract Node = jdk.internal.net.http.hpack.QuickHuffman$Node of jdk.internal.net.http.hpack.QuickHuffman