public class org.apache.commons.net.nntp.Threader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.net.nntp.Threader
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/net/nntp/Threader;
public org.apache.commons.net.nntp.Threadable thread(java.util.List<? extends org.apache.commons.net.nntp.Threadable>);
descriptor: (Ljava/util/List;)Lorg/apache/commons/net/nntp/Threadable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.commons.net.nntp.Threader.thread:(Ljava/lang/Iterable;)Lorg/apache/commons/net/nntp/Threadable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/net/nntp/Threader;
0 1 1 messages Ljava/util/List<+Lorg/apache/commons/net/nntp/Threadable;>;
Signature: (Ljava/util/List<+Lorg/apache/commons/net/nntp/Threadable;>;)Lorg/apache/commons/net/nntp/Threadable;
MethodParameters:
Name Flags
messages
public org.apache.commons.net.nntp.Threadable thread(java.lang.Iterable<? extends org.apache.commons.net.nntp.Threadable>);
descriptor: (Ljava/lang/Iterable;)Lorg/apache/commons/net/nntp/Threadable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 3: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: org.apache.commons.net.nntp.Threader java.lang.Iterable java.util.HashMap top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.net.nntp.Threadable
astore 3
start local 3 5: aload 3
invokeinterface org.apache.commons.net.nntp.Threadable.isDummy:()Z
ifne 7
6: aload 0
aload 3
aload 2
invokevirtual org.apache.commons.net.nntp.Threader.buildContainer:(Lorg/apache/commons/net/nntp/Threadable;Ljava/util/HashMap;)V
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: aload 2
invokevirtual java.util.HashMap.isEmpty:()Z
ifeq 10
9: aconst_null
areturn
10: StackMap locals: org.apache.commons.net.nntp.Threader java.lang.Iterable java.util.HashMap
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.commons.net.nntp.Threader.findRootSet:(Ljava/util/HashMap;)Lorg/apache/commons/net/nntp/ThreadContainer;
astore 3
start local 3 11: aload 2
invokevirtual java.util.HashMap.clear:()V
12: aconst_null
astore 2
13: aload 0
aload 3
invokevirtual org.apache.commons.net.nntp.Threader.pruneEmptyContainers:(Lorg/apache/commons/net/nntp/ThreadContainer;)V
14: aload 3
invokevirtual org.apache.commons.net.nntp.ThreadContainer.reverseChildren:()V
15: aload 0
aload 3
invokevirtual org.apache.commons.net.nntp.Threader.gatherSubjects:(Lorg/apache/commons/net/nntp/ThreadContainer;)V
16: aload 3
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnull 18
17: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "root node has a next:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 3
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 4
start local 4 19: goto 23
20: StackMap locals: org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnonnull 22
21: aload 4
aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
invokeinterface org.apache.commons.net.nntp.Threadable.makeDummy:()Lorg/apache/commons/net/nntp/Threadable;
putfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
22: StackMap locals:
StackMap stack:
aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 4
StackMap locals:
StackMap stack:
23: aload 4
ifnonnull 20
end local 4 24: aload 3
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnonnull 25
aconst_null
goto 26
StackMap locals:
StackMap stack:
25: aload 3
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
StackMap locals:
StackMap stack: org.apache.commons.net.nntp.Threadable
26: astore 4
start local 4 27: aload 3
invokevirtual org.apache.commons.net.nntp.ThreadContainer.flush:()V
28: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/apache/commons/net/nntp/Threader;
0 29 1 messages Ljava/lang/Iterable<+Lorg/apache/commons/net/nntp/Threadable;>;
3 29 2 idTable Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/commons/net/nntp/ThreadContainer;>;
5 7 3 t Lorg/apache/commons/net/nntp/Threadable;
11 29 3 root Lorg/apache/commons/net/nntp/ThreadContainer;
19 24 4 r Lorg/apache/commons/net/nntp/ThreadContainer;
27 29 4 result Lorg/apache/commons/net/nntp/Threadable;
Signature: (Ljava/lang/Iterable<+Lorg/apache/commons/net/nntp/Threadable;>;)Lorg/apache/commons/net/nntp/Threadable;
MethodParameters:
Name Flags
messages
private void buildContainer(org.apache.commons.net.nntp.Threadable, java.util.HashMap<java.lang.String, org.apache.commons.net.nntp.ThreadContainer>);
descriptor: (Lorg/apache/commons/net/nntp/Threadable;Ljava/util/HashMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.apache.commons.net.nntp.Threadable.messageThreadId:()Ljava/lang/String;
astore 3
start local 3 1: aload 2
aload 3
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.commons.net.nntp.ThreadContainer
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: aload 4
ifnull 10
4: aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnull 9
5: iinc 5 1
6: new java.lang.StringBuilder
dup
ldc "<Bogus-id:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
7: aconst_null
astore 4
8: goto 10
9: StackMap locals: java.lang.String org.apache.commons.net.nntp.ThreadContainer int
StackMap stack:
aload 4
aload 1
putfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
10: StackMap locals:
StackMap stack:
aload 4
ifnonnull 14
11: new org.apache.commons.net.nntp.ThreadContainer
dup
invokespecial org.apache.commons.net.nntp.ThreadContainer.<init>:()V
astore 4
12: aload 4
aload 1
putfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
13: aload 2
aload 3
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 15: aload 1
invokeinterface org.apache.commons.net.nntp.Threadable.messageThreadReferences:()[Ljava/lang/String;
astore 7
start local 7 16: aload 7
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 31
StackMap locals: org.apache.commons.net.nntp.Threader org.apache.commons.net.nntp.Threadable java.util.HashMap java.lang.String org.apache.commons.net.nntp.ThreadContainer int org.apache.commons.net.nntp.ThreadContainer java.lang.String[] top int int java.lang.String[]
StackMap stack:
17: aload 11
iload 9
aaload
astore 8
start local 8 18: aload 2
aload 8
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.commons.net.nntp.ThreadContainer
astore 12
start local 12 19: aload 12
ifnonnull 22
20: new org.apache.commons.net.nntp.ThreadContainer
dup
invokespecial org.apache.commons.net.nntp.ThreadContainer.<init>:()V
astore 12
21: aload 2
aload 8
aload 12
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: StackMap locals: org.apache.commons.net.nntp.Threader org.apache.commons.net.nntp.Threadable java.util.HashMap java.lang.String org.apache.commons.net.nntp.ThreadContainer int org.apache.commons.net.nntp.ThreadContainer java.lang.String[] java.lang.String int int java.lang.String[] org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 6
ifnull 29
23: aload 12
getfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnonnull 29
24: aload 6
aload 12
if_acmpeq 29
25: aload 12
aload 6
invokevirtual org.apache.commons.net.nntp.ThreadContainer.findChild:(Lorg/apache/commons/net/nntp/ThreadContainer;)Z
ifne 29
26: aload 12
aload 6
putfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
27: aload 12
aload 6
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
28: aload 6
aload 12
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
29: StackMap locals:
StackMap stack:
aload 12
astore 6
end local 12 end local 8 30: iinc 9 1
StackMap locals: org.apache.commons.net.nntp.Threader org.apache.commons.net.nntp.Threadable java.util.HashMap java.lang.String org.apache.commons.net.nntp.ThreadContainer int org.apache.commons.net.nntp.ThreadContainer java.lang.String[] top int int java.lang.String[]
StackMap stack:
31: iload 9
iload 10
if_icmplt 17
end local 7 32: aload 6
ifnull 35
33: aload 6
aload 4
if_acmpeq 34
aload 4
aload 6
invokevirtual org.apache.commons.net.nntp.ThreadContainer.findChild:(Lorg/apache/commons/net/nntp/ThreadContainer;)Z
ifeq 35
34: StackMap locals: org.apache.commons.net.nntp.Threader org.apache.commons.net.nntp.Threadable java.util.HashMap java.lang.String org.apache.commons.net.nntp.ThreadContainer int org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aconst_null
astore 6
35: StackMap locals:
StackMap stack:
aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnull 57
36: aconst_null
astore 8
start local 8 37: aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 7
start local 7 38: goto 42
39: StackMap locals: org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 7
aload 4
if_acmpne 41
40: goto 43
41: StackMap locals:
StackMap stack:
aload 7
astore 8
aload 7
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 7
42: StackMap locals:
StackMap stack:
aload 7
ifnonnull 39
43: StackMap locals:
StackMap stack:
aload 7
ifnonnull 51
44: new java.lang.RuntimeException
dup
45: new java.lang.StringBuilder
dup
ldc "Didnt find "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
46: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47: ldc " in parent"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
48: aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
49: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
50: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
51: StackMap locals:
StackMap stack:
aload 8
ifnonnull 54
52: aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
53: goto 55
54: StackMap locals:
StackMap stack:
aload 8
aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
55: StackMap locals:
StackMap stack:
aload 4
aconst_null
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
56: aload 4
aconst_null
putfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
end local 8 end local 7 57: StackMap locals:
StackMap stack:
aload 6
ifnull 61
58: aload 4
aload 6
putfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
59: aload 4
aload 6
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
60: aload 6
aload 4
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
61: StackMap locals:
StackMap stack:
return
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 62 0 this Lorg/apache/commons/net/nntp/Threader;
0 62 1 threadable Lorg/apache/commons/net/nntp/Threadable;
0 62 2 idTable Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/commons/net/nntp/ThreadContainer;>;
1 62 3 id Ljava/lang/String;
2 62 4 container Lorg/apache/commons/net/nntp/ThreadContainer;
3 62 5 bogusIdCount I
15 62 6 parentRef Lorg/apache/commons/net/nntp/ThreadContainer;
16 32 7 references [Ljava/lang/String;
18 30 8 refString Ljava/lang/String;
19 30 12 ref Lorg/apache/commons/net/nntp/ThreadContainer;
38 57 7 rest Lorg/apache/commons/net/nntp/ThreadContainer;
37 57 8 prev Lorg/apache/commons/net/nntp/ThreadContainer;
Signature: (Lorg/apache/commons/net/nntp/Threadable;Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/commons/net/nntp/ThreadContainer;>;)V
MethodParameters:
Name Flags
threadable
idTable
private org.apache.commons.net.nntp.ThreadContainer findRootSet(java.util.HashMap<java.lang.String, org.apache.commons.net.nntp.ThreadContainer>);
descriptor: (Ljava/util/HashMap;)Lorg/apache/commons/net/nntp/ThreadContainer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: new org.apache.commons.net.nntp.ThreadContainer
dup
invokespecial org.apache.commons.net.nntp.ThreadContainer.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 12
3: StackMap locals: org.apache.commons.net.nntp.ThreadContainer java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 4: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.commons.net.nntp.ThreadContainer
astore 5
start local 5 5: aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnonnull 12
6: aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnull 10
7: new java.lang.RuntimeException
dup
8: new java.lang.StringBuilder
dup
ldc "c.next is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.util.Map$Entry org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 5
aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
11: aload 2
aload 5
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
end local 5 end local 4 12: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
13: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/commons/net/nntp/Threader;
0 14 1 idTable Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/commons/net/nntp/ThreadContainer;>;
1 14 2 root Lorg/apache/commons/net/nntp/ThreadContainer;
2 14 3 iter Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/apache/commons/net/nntp/ThreadContainer;>;>;
4 12 4 entry Ljava/util/Map$Entry<Ljava/lang/String;Lorg/apache/commons/net/nntp/ThreadContainer;>;
5 12 5 c Lorg/apache/commons/net/nntp/ThreadContainer;
Signature: (Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/commons/net/nntp/ThreadContainer;>;)Lorg/apache/commons/net/nntp/ThreadContainer;
MethodParameters:
Name Flags
idTable
private void pruneEmptyContainers(org.apache.commons.net.nntp.ThreadContainer);
descriptor: (Lorg/apache/commons/net/nntp/ThreadContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 3
start local 3 1: aload 1
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 2
start local 2 2: aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 4
start local 4 3: goto 37
4: StackMap locals: org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnonnull 11
aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnonnull 11
5: aload 3
ifnonnull 8
6: aload 1
aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
7: goto 9
8: StackMap locals:
StackMap stack:
aload 3
aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
9: StackMap locals:
StackMap stack:
aload 3
astore 2
10: goto 32
11: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnonnull 30
12: aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnull 30
13: aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnonnull 15
14: aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnonnull 30
15: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 6
start local 6 16: aload 3
ifnonnull 19
17: aload 1
aload 6
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
18: goto 20
19: StackMap locals: org.apache.commons.net.nntp.Threader org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer top org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 3
aload 6
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
20: StackMap locals:
StackMap stack:
aload 6
astore 5
start local 5 21: goto 24
22: StackMap locals: org.apache.commons.net.nntp.Threader org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 5
aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
23: aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 5
StackMap locals:
StackMap stack:
24: aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnonnull 22
25: aload 5
aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
26: aload 5
aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
27: aload 6
astore 4
28: aload 3
astore 2
end local 6 end local 5 29: goto 32
StackMap locals:
StackMap stack:
30: aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnull 32
31: aload 0
aload 2
invokevirtual org.apache.commons.net.nntp.Threader.pruneEmptyContainers:(Lorg/apache/commons/net/nntp/ThreadContainer;)V
32: StackMap locals:
StackMap stack:
aload 2
astore 3
33: aload 4
astore 2
34: aload 2
ifnonnull 35
aconst_null
goto 36
StackMap locals:
StackMap stack:
35: aload 2
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
StackMap locals:
StackMap stack: org.apache.commons.net.nntp.ThreadContainer
36: astore 4
37: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
38: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/apache/commons/net/nntp/Threader;
0 39 1 parent Lorg/apache/commons/net/nntp/ThreadContainer;
2 39 2 container Lorg/apache/commons/net/nntp/ThreadContainer;
1 39 3 prev Lorg/apache/commons/net/nntp/ThreadContainer;
3 39 4 next Lorg/apache/commons/net/nntp/ThreadContainer;
21 29 5 tail Lorg/apache/commons/net/nntp/ThreadContainer;
16 29 6 kids Lorg/apache/commons/net/nntp/ThreadContainer;
MethodParameters:
Name Flags
parent
private void gatherSubjects(org.apache.commons.net.nntp.ThreadContainer);
descriptor: (Lorg/apache/commons/net/nntp/ThreadContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 3
start local 3 2: goto 5
3: StackMap locals: int org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
iinc 2 1
4: aload 3
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 3
StackMap locals:
StackMap stack:
5: aload 3
ifnonnull 3
end local 3 6: new java.util.HashMap
dup
iload 2
i2d
ldc 1.2
dmul
d2i
ldc 0.9
invokespecial java.util.HashMap.<init>:(IF)V
astore 3
start local 3 7: iconst_0
istore 2
8: aload 1
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 4
start local 4 9: goto 26
10: StackMap locals: org.apache.commons.net.nntp.Threader org.apache.commons.net.nntp.ThreadContainer int java.util.HashMap org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
astore 5
start local 5 11: aload 5
ifnonnull 13
12: aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
astore 5
13: StackMap locals: org.apache.commons.net.nntp.Threadable
StackMap stack:
aload 5
invokeinterface org.apache.commons.net.nntp.Threadable.simplifiedSubject:()Ljava/lang/String;
astore 6
start local 6 14: aload 6
ifnull 25
aload 6
invokevirtual java.lang.String.length:()I
ifne 16
15: goto 25
16: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 6
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.commons.net.nntp.ThreadContainer
astore 7
start local 7 17: aload 7
ifnull 23
18: aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnonnull 19
aload 7
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnonnull 23
19: StackMap locals: org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 7
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnull 25
20: aload 7
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
invokeinterface org.apache.commons.net.nntp.Threadable.subjectIsReply:()Z
ifeq 25
21: aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnull 25
22: aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
invokeinterface org.apache.commons.net.nntp.Threadable.subjectIsReply:()Z
ifne 25
23: StackMap locals:
StackMap stack:
aload 3
aload 6
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: iinc 2 1
end local 7 end local 6 end local 5 25: StackMap locals:
StackMap stack:
aload 4
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 4
StackMap locals:
StackMap stack:
26: aload 4
ifnonnull 10
end local 4 27: iload 2
ifne 29
28: return
29: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 30: aload 1
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 5
start local 5 31: aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 6
start local 6 32: goto 86
33: StackMap locals: org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
astore 7
start local 7 34: aload 7
ifnonnull 36
35: aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
astore 7
36: StackMap locals: org.apache.commons.net.nntp.Threadable
StackMap stack:
aload 7
invokeinterface org.apache.commons.net.nntp.Threadable.simplifiedSubject:()Ljava/lang/String;
astore 8
start local 8 37: aload 8
ifnull 83
aload 8
invokevirtual java.lang.String.length:()I
ifne 39
38: goto 83
39: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 8
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.commons.net.nntp.ThreadContainer
astore 9
start local 9 40: aload 9
aload 5
if_acmpne 42
41: goto 83
42: StackMap locals: org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 4
ifnonnull 45
43: aload 1
aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
44: goto 46
45: StackMap locals:
StackMap stack:
aload 4
aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
46: StackMap locals:
StackMap stack:
aload 5
aconst_null
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
47: aload 9
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnonnull 60
aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnonnull 60
48: aload 9
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 10
start local 10 49: goto 51
50: StackMap locals: org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 10
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 10
51: StackMap locals:
StackMap stack:
aload 10
ifnull 52
aload 10
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
ifnonnull 50
52: StackMap locals:
StackMap stack:
aload 10
ifnull 54
53: aload 10
aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
54: StackMap locals:
StackMap stack:
aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 10
goto 57
55: StackMap locals:
StackMap stack:
aload 10
aload 9
putfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
56: aload 10
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 10
StackMap locals:
StackMap stack:
57: aload 10
ifnonnull 55
58: aload 5
aconst_null
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
end local 10 59: goto 82
60: StackMap locals:
StackMap stack:
aload 9
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnull 64
61: aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
ifnull 68
62: aload 5
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
invokeinterface org.apache.commons.net.nntp.Threadable.subjectIsReply:()Z
ifeq 68
63: aload 9
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
invokeinterface org.apache.commons.net.nntp.Threadable.subjectIsReply:()Z
ifne 68
64: StackMap locals:
StackMap stack:
aload 5
aload 9
putfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
65: aload 5
aload 9
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
66: aload 9
aload 5
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
67: goto 82
68: StackMap locals:
StackMap stack:
new org.apache.commons.net.nntp.ThreadContainer
dup
invokespecial org.apache.commons.net.nntp.ThreadContainer.<init>:()V
astore 10
start local 10 69: aload 10
aload 9
getfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
putfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
70: aload 10
aload 9
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
71: aload 10
getfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 11
start local 11 72: goto 75
73: StackMap locals: org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.ThreadContainer
StackMap stack:
aload 11
aload 10
putfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
74: aload 11
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
astore 11
75: StackMap locals:
StackMap stack:
aload 11
ifnonnull 73
end local 11 76: aload 9
aconst_null
putfield org.apache.commons.net.nntp.ThreadContainer.threadable:Lorg/apache/commons/net/nntp/Threadable;
77: aload 9
aconst_null
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
78: aload 5
aload 9
putfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
79: aload 10
aload 9
putfield org.apache.commons.net.nntp.ThreadContainer.parent:Lorg/apache/commons/net/nntp/ThreadContainer;
80: aload 9
aload 5
putfield org.apache.commons.net.nntp.ThreadContainer.child:Lorg/apache/commons/net/nntp/ThreadContainer;
81: aload 5
aload 10
putfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
end local 10 82: StackMap locals:
StackMap stack:
aload 4
astore 5
end local 9 end local 8 end local 7 83: StackMap locals:
StackMap stack:
aload 5
astore 4
aload 6
astore 5
aload 6
ifnonnull 84
aconst_null
goto 85
StackMap locals:
StackMap stack:
84: aload 6
getfield org.apache.commons.net.nntp.ThreadContainer.next:Lorg/apache/commons/net/nntp/ThreadContainer;
StackMap locals:
StackMap stack: org.apache.commons.net.nntp.ThreadContainer
85: astore 6
86: StackMap locals:
StackMap stack:
aload 5
ifnonnull 33
87: aload 3
invokevirtual java.util.HashMap.clear:()V
88: aconst_null
astore 3
89: return
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 90 0 this Lorg/apache/commons/net/nntp/Threader;
0 90 1 root Lorg/apache/commons/net/nntp/ThreadContainer;
1 90 2 count I
2 6 3 c Lorg/apache/commons/net/nntp/ThreadContainer;
7 90 3 subjectTable Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/commons/net/nntp/ThreadContainer;>;
9 27 4 c Lorg/apache/commons/net/nntp/ThreadContainer;
11 25 5 threadable Lorg/apache/commons/net/nntp/Threadable;
14 25 6 subj Ljava/lang/String;
17 25 7 old Lorg/apache/commons/net/nntp/ThreadContainer;
30 90 4 prev Lorg/apache/commons/net/nntp/ThreadContainer;
31 90 5 c Lorg/apache/commons/net/nntp/ThreadContainer;
32 90 6 rest Lorg/apache/commons/net/nntp/ThreadContainer;
34 83 7 threadable Lorg/apache/commons/net/nntp/Threadable;
37 83 8 subj Ljava/lang/String;
40 83 9 old Lorg/apache/commons/net/nntp/ThreadContainer;
49 59 10 tail Lorg/apache/commons/net/nntp/ThreadContainer;
69 82 10 newc Lorg/apache/commons/net/nntp/ThreadContainer;
72 76 11 tail Lorg/apache/commons/net/nntp/ThreadContainer;
MethodParameters:
Name Flags
root
public org.apache.commons.net.nntp.Threadable thread(org.apache.commons.net.nntp.Threadable[]);
descriptor: ([Lorg/apache/commons/net/nntp/Threadable;)Lorg/apache/commons/net/nntp/Threadable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.apache.commons.net.nntp.Threader.thread:(Ljava/util/List;)Lorg/apache/commons/net/nntp/Threadable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/net/nntp/Threader;
0 3 1 messages [Lorg/apache/commons/net/nntp/Threadable;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
messages
}
SourceFile: "Threader.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map