Skip to content

Commit 8c04e2c

Browse files
author
Thibault Delor
committed
Disassembled classes
1 parent 302006e commit 8c04e2c

8 files changed

+1190
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Classfile /home/tibo/Workspace/InvalidCodeBlog/build/classes/main/com/invalidcodeexception/experiment/loops/LoopTester$1.class
2+
Last modified 12/12/2012; size 265 bytes
3+
MD5 checksum 703211cba4aeb71f43a9fcd7a7cccd4a
4+
Compiled from "LoopTester.java"
5+
class com.invalidcodeexception.experiment.loops.LoopTester$1
6+
SourceFile: "LoopTester.java"
7+
EnclosingMethod: #6.#0 // com.invalidcodeexception.experiment.loops.LoopTester
8+
InnerClasses:
9+
static #1 of #6; //class com/invalidcodeexception/experiment/loops/LoopTester$1 of class com/invalidcodeexception/experiment/loops/LoopTester
10+
minor version: 0
11+
major version: 51
12+
flags: ACC_SUPER, ACC_SYNTHETIC
13+
Constant pool:
14+
#1 = Class #7 // com/invalidcodeexception/experiment/loops/LoopTester$1
15+
#2 = Class #10 // java/lang/Object
16+
#3 = Utf8 SourceFile
17+
#4 = Utf8 LoopTester.java
18+
#5 = Utf8 EnclosingMethod
19+
#6 = Class #11 // com/invalidcodeexception/experiment/loops/LoopTester
20+
#7 = Utf8 com/invalidcodeexception/experiment/loops/LoopTester$1
21+
#8 = Utf8
22+
#9 = Utf8 InnerClasses
23+
#10 = Utf8 java/lang/Object
24+
#11 = Utf8 com/invalidcodeexception/experiment/loops/LoopTester
25+
{
26+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
Classfile /home/tibo/Workspace/InvalidCodeBlog/build/classes/main/com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$1.class
2+
Last modified 12/12/2012; size 1420 bytes
3+
MD5 checksum 844bfe26201b732884f2d7a98f970247
4+
Compiled from "LoopTester.java"
5+
final class com.invalidcodeexception.experiment.loops.LoopTester$LoopingStrategy$1 extends com.invalidcodeexception.experiment.loops.LoopTester$LoopingStrategy
6+
SourceFile: "LoopTester.java"
7+
EnclosingMethod: #8.#0 // com.invalidcodeexception.experiment.loops.LoopTester$LoopingStrategy
8+
InnerClasses:
9+
public static abstract #15= #8 of #46; //LoopingStrategy=class com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy of class com/invalidcodeexception/experiment/loops/LoopTester
10+
static #7; //class com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$1
11+
static #49 of #46; //class com/invalidcodeexception/experiment/loops/LoopTester$1 of class com/invalidcodeexception/experiment/loops/LoopTester
12+
minor version: 0
13+
major version: 51
14+
flags: ACC_FINAL, ACC_SUPER, ACC_ENUM
15+
Constant pool:
16+
#1 = Methodref #8.#37 // com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy."<init>":(Ljava/lang/String;ILcom/invalidcodeexception/experiment/loops/LoopTester$1;)V
17+
#2 = InterfaceMethodref #38.#39 // java/util/List.iterator:()Ljava/util/Iterator;
18+
#3 = InterfaceMethodref #40.#41 // java/util/Iterator.hasNext:()Z
19+
#4 = InterfaceMethodref #40.#42 // java/util/Iterator.next:()Ljava/lang/Object;
20+
#5 = Class #43 // java/lang/Integer
21+
#6 = Methodref #5.#44 // java/lang/Integer.intValue:()I
22+
#7 = Class #45 // com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$1
23+
#8 = Class #47 // com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy
24+
#9 = Utf8 <init>
25+
#10 = Utf8 (Ljava/lang/String;I)V
26+
#11 = Utf8 Code
27+
#12 = Utf8 LineNumberTable
28+
#13 = Utf8 LocalVariableTable
29+
#14 = Utf8 this
30+
#15 = Utf8 LoopingStrategy
31+
#16 = Utf8 InnerClasses
32+
#17 = Utf8
33+
#18 = Utf8 Lcom/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$1;
34+
#19 = Utf8 compute
35+
#20 = Utf8 (Ljava/util/List;)I
36+
#21 = Utf8 col
37+
#22 = Utf8 Ljava/util/List;
38+
#23 = Utf8 sum
39+
#24 = Utf8 I
40+
#25 = Utf8 it
41+
#26 = Utf8 Ljava/util/Iterator;
42+
#27 = Utf8 LocalVariableTypeTable
43+
#28 = Utf8 Ljava/util/List<Ljava/lang/Integer;>;
44+
#29 = Utf8 Ljava/util/Iterator<Ljava/lang/Integer;>;
45+
#30 = Utf8 StackMapTable
46+
#31 = Class #48 // java/util/Iterator
47+
#32 = Utf8 Signature
48+
#33 = Utf8 (Ljava/util/List<Ljava/lang/Integer;>;)I
49+
#34 = Utf8 SourceFile
50+
#35 = Utf8 LoopTester.java
51+
#36 = Utf8 EnclosingMethod
52+
#37 = NameAndType #9:#50 // "<init>":(Ljava/lang/String;ILcom/invalidcodeexception/experiment/loops/LoopTester$1;)V
53+
#38 = Class #51 // java/util/List
54+
#39 = NameAndType #52:#53 // iterator:()Ljava/util/Iterator;
55+
#40 = Class #48 // java/util/Iterator
56+
#41 = NameAndType #54:#55 // hasNext:()Z
57+
#42 = NameAndType #56:#57 // next:()Ljava/lang/Object;
58+
#43 = Utf8 java/lang/Integer
59+
#44 = NameAndType #58:#59 // intValue:()I
60+
#45 = Utf8 com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$1
61+
#46 = Class #60 // com/invalidcodeexception/experiment/loops/LoopTester
62+
#47 = Utf8 com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy
63+
#48 = Utf8 java/util/Iterator
64+
#49 = Class #61 // com/invalidcodeexception/experiment/loops/LoopTester$1
65+
#50 = Utf8 (Ljava/lang/String;ILcom/invalidcodeexception/experiment/loops/LoopTester$1;)V
66+
#51 = Utf8 java/util/List
67+
#52 = Utf8 iterator
68+
#53 = Utf8 ()Ljava/util/Iterator;
69+
#54 = Utf8 hasNext
70+
#55 = Utf8 ()Z
71+
#56 = Utf8 next
72+
#57 = Utf8 ()Ljava/lang/Object;
73+
#58 = Utf8 intValue
74+
#59 = Utf8 ()I
75+
#60 = Utf8 com/invalidcodeexception/experiment/loops/LoopTester
76+
#61 = Utf8 com/invalidcodeexception/experiment/loops/LoopTester$1
77+
{
78+
com.invalidcodeexception.experiment.loops.LoopTester$LoopingStrategy$1(java.lang.String, int);
79+
flags:
80+
Code:
81+
stack=4, locals=3, args_size=3
82+
0: aload_0
83+
1: aload_1
84+
2: iload_2
85+
3: aconst_null
86+
4: invokespecial #1 // Method com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy."<init>":(Ljava/lang/String;ILcom/invalidcodeexception/experiment/loops/LoopTester$1;)V
87+
7: return
88+
LineNumberTable:
89+
line 23: 0
90+
LocalVariableTable:
91+
Start Length Slot Name Signature
92+
0 8 0 this Lcom/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$1;
93+
94+
int compute(java.util.List<java.lang.Integer>);
95+
flags:
96+
Code:
97+
stack=2, locals=4, args_size=2
98+
0: iconst_0
99+
1: istore_2
100+
2: aload_1
101+
3: invokeinterface #2, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
102+
8: astore_3
103+
9: aload_3
104+
10: invokeinterface #3, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
105+
15: ifeq 36
106+
18: iload_2
107+
19: aload_3
108+
20: invokeinterface #4, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
109+
25: checkcast #5 // class java/lang/Integer
110+
28: invokevirtual #6 // Method java/lang/Integer.intValue:()I
111+
31: iadd
112+
32: istore_2
113+
33: goto 9
114+
36: iload_2
115+
37: ireturn
116+
LineNumberTable:
117+
line 26: 0
118+
line 28: 2
119+
line 29: 9
120+
line 30: 18
121+
line 32: 36
122+
LocalVariableTable:
123+
Start Length Slot Name Signature
124+
0 38 0 this Lcom/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$1;
125+
0 38 1 col Ljava/util/List;
126+
2 36 2 sum I
127+
9 29 3 it Ljava/util/Iterator;
128+
LocalVariableTypeTable:
129+
Start Length Slot Name Signature
130+
0 38 1 col Ljava/util/List<Ljava/lang/Integer;>;
131+
9 29 3 it Ljava/util/Iterator<Ljava/lang/Integer;>;
132+
StackMapTable: number_of_entries = 2
133+
frame_type = 253 /* append */
134+
offset_delta = 9
135+
locals = [ int, class java/util/Iterator ]
136+
frame_type = 26 /* same */
137+
138+
Signature: #33 // (Ljava/util/List<Ljava/lang/Integer;>;)I
139+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
Classfile /home/tibo/Workspace/InvalidCodeBlog/build/classes/main/com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$2.class
2+
Last modified 12/12/2012; size 1466 bytes
3+
MD5 checksum cc4589e80d78a511aeab60c6a8f067e8
4+
Compiled from "LoopTester.java"
5+
final class com.invalidcodeexception.experiment.loops.LoopTester$LoopingStrategy$2 extends com.invalidcodeexception.experiment.loops.LoopTester$LoopingStrategy
6+
SourceFile: "LoopTester.java"
7+
EnclosingMethod: #8.#0 // com.invalidcodeexception.experiment.loops.LoopTester$LoopingStrategy
8+
InnerClasses:
9+
public static abstract #15= #8 of #48; //LoopingStrategy=class com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy of class com/invalidcodeexception/experiment/loops/LoopTester
10+
static #7; //class com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$2
11+
static #51 of #48; //class com/invalidcodeexception/experiment/loops/LoopTester$1 of class com/invalidcodeexception/experiment/loops/LoopTester
12+
minor version: 0
13+
major version: 51
14+
flags: ACC_FINAL, ACC_SUPER, ACC_ENUM
15+
Constant pool:
16+
#1 = Methodref #8.#39 // com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy."<init>":(Ljava/lang/String;ILcom/invalidcodeexception/experiment/loops/LoopTester$1;)V
17+
#2 = InterfaceMethodref #40.#41 // java/util/List.iterator:()Ljava/util/Iterator;
18+
#3 = InterfaceMethodref #42.#43 // java/util/Iterator.hasNext:()Z
19+
#4 = InterfaceMethodref #42.#44 // java/util/Iterator.next:()Ljava/lang/Object;
20+
#5 = Class #45 // java/lang/Integer
21+
#6 = Methodref #5.#46 // java/lang/Integer.intValue:()I
22+
#7 = Class #47 // com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$2
23+
#8 = Class #49 // com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy
24+
#9 = Utf8 <init>
25+
#10 = Utf8 (Ljava/lang/String;I)V
26+
#11 = Utf8 Code
27+
#12 = Utf8 LineNumberTable
28+
#13 = Utf8 LocalVariableTable
29+
#14 = Utf8 this
30+
#15 = Utf8 LoopingStrategy
31+
#16 = Utf8 InnerClasses
32+
#17 = Utf8
33+
#18 = Utf8 Lcom/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$2;
34+
#19 = Utf8 compute
35+
#20 = Utf8 (Ljava/util/List;)I
36+
#21 = Utf8 i
37+
#22 = Utf8 Ljava/lang/Integer;
38+
#23 = Utf8 it
39+
#24 = Utf8 Ljava/util/Iterator;
40+
#25 = Utf8 col
41+
#26 = Utf8 Ljava/util/List;
42+
#27 = Utf8 sum
43+
#28 = Utf8 I
44+
#29 = Utf8 LocalVariableTypeTable
45+
#30 = Utf8 Ljava/util/Iterator<Ljava/lang/Integer;>;
46+
#31 = Utf8 Ljava/util/List<Ljava/lang/Integer;>;
47+
#32 = Utf8 StackMapTable
48+
#33 = Class #50 // java/util/Iterator
49+
#34 = Utf8 Signature
50+
#35 = Utf8 (Ljava/util/List<Ljava/lang/Integer;>;)I
51+
#36 = Utf8 SourceFile
52+
#37 = Utf8 LoopTester.java
53+
#38 = Utf8 EnclosingMethod
54+
#39 = NameAndType #9:#52 // "<init>":(Ljava/lang/String;ILcom/invalidcodeexception/experiment/loops/LoopTester$1;)V
55+
#40 = Class #53 // java/util/List
56+
#41 = NameAndType #54:#55 // iterator:()Ljava/util/Iterator;
57+
#42 = Class #50 // java/util/Iterator
58+
#43 = NameAndType #56:#57 // hasNext:()Z
59+
#44 = NameAndType #58:#59 // next:()Ljava/lang/Object;
60+
#45 = Utf8 java/lang/Integer
61+
#46 = NameAndType #60:#61 // intValue:()I
62+
#47 = Utf8 com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$2
63+
#48 = Class #62 // com/invalidcodeexception/experiment/loops/LoopTester
64+
#49 = Utf8 com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy
65+
#50 = Utf8 java/util/Iterator
66+
#51 = Class #63 // com/invalidcodeexception/experiment/loops/LoopTester$1
67+
#52 = Utf8 (Ljava/lang/String;ILcom/invalidcodeexception/experiment/loops/LoopTester$1;)V
68+
#53 = Utf8 java/util/List
69+
#54 = Utf8 iterator
70+
#55 = Utf8 ()Ljava/util/Iterator;
71+
#56 = Utf8 hasNext
72+
#57 = Utf8 ()Z
73+
#58 = Utf8 next
74+
#59 = Utf8 ()Ljava/lang/Object;
75+
#60 = Utf8 intValue
76+
#61 = Utf8 ()I
77+
#62 = Utf8 com/invalidcodeexception/experiment/loops/LoopTester
78+
#63 = Utf8 com/invalidcodeexception/experiment/loops/LoopTester$1
79+
{
80+
com.invalidcodeexception.experiment.loops.LoopTester$LoopingStrategy$2(java.lang.String, int);
81+
flags:
82+
Code:
83+
stack=4, locals=3, args_size=3
84+
0: aload_0
85+
1: aload_1
86+
2: iload_2
87+
3: aconst_null
88+
4: invokespecial #1 // Method com/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy."<init>":(Ljava/lang/String;ILcom/invalidcodeexception/experiment/loops/LoopTester$1;)V
89+
7: return
90+
LineNumberTable:
91+
line 35: 0
92+
LocalVariableTable:
93+
Start Length Slot Name Signature
94+
0 8 0 this Lcom/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$2;
95+
96+
int compute(java.util.List<java.lang.Integer>);
97+
flags:
98+
Code:
99+
stack=2, locals=5, args_size=2
100+
0: iconst_0
101+
1: istore_2
102+
2: aload_1
103+
3: invokeinterface #2, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
104+
8: astore_3
105+
9: aload_3
106+
10: invokeinterface #3, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
107+
15: ifeq 40
108+
18: aload_3
109+
19: invokeinterface #4, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
110+
24: checkcast #5 // class java/lang/Integer
111+
27: astore 4
112+
29: iload_2
113+
30: aload 4
114+
32: invokevirtual #6 // Method java/lang/Integer.intValue:()I
115+
35: iadd
116+
36: istore_2
117+
37: goto 9
118+
40: iload_2
119+
41: ireturn
120+
LineNumberTable:
121+
line 38: 0
122+
line 39: 2
123+
line 40: 18
124+
line 41: 29
125+
line 42: 37
126+
line 43: 40
127+
LocalVariableTable:
128+
Start Length Slot Name Signature
129+
29 8 4 i Ljava/lang/Integer;
130+
9 31 3 it Ljava/util/Iterator;
131+
0 42 0 this Lcom/invalidcodeexception/experiment/loops/LoopTester$LoopingStrategy$2;
132+
0 42 1 col Ljava/util/List;
133+
2 40 2 sum I
134+
LocalVariableTypeTable:
135+
Start Length Slot Name Signature
136+
9 31 3 it Ljava/util/Iterator<Ljava/lang/Integer;>;
137+
0 42 1 col Ljava/util/List<Ljava/lang/Integer;>;
138+
StackMapTable: number_of_entries = 2
139+
frame_type = 253 /* append */
140+
offset_delta = 9
141+
locals = [ int, class java/util/Iterator ]
142+
frame_type = 250 /* chop */
143+
offset_delta = 30
144+
145+
Signature: #35 // (Ljava/util/List<Ljava/lang/Integer;>;)I
146+
}

0 commit comments

Comments
 (0)