Skip to content

Commit fd56263

Browse files
committed
New if disassembled code
1 parent f4cd815 commit fd56263

File tree

2 files changed

+180
-0
lines changed

2 files changed

+180
-0
lines changed
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
md5: 17d37886c4a27d04f371abbc8857828d
2+
3+
version: Java 8 (52)
4+
access: ACC_PUBLIC (33)
5+
6+
source: ComplexIf.cai
7+
8+
public class test.ComplexIf extends java.lang.Object {
9+
10+
!access: ACC_PUBLIC (1)
11+
!parameter[name: h, access: (0)]
12+
!parameter[name: x, access: (0)]
13+
!parameter[name: y, access: (0)]
14+
!parameter[name: z, access: (0)]
15+
public void <init>(boolean, boolean, boolean, boolean) {
16+
desc: (ZZZZ)V
17+
maxStack: 2, maxLocals: 7
18+
Label_0:
19+
aload 0
20+
invokespecial java.lang.Object.<init>()void (ownerIsInterface: false)
21+
Label_1:
22+
LINE 3 -> Label_1
23+
bipush 9
24+
iconst_5
25+
if_icmpge Label_3
26+
Label_2:
27+
LINE 7 -> Label_2
28+
iconst_1
29+
goto Label_4
30+
Label_3:
31+
LINE 8 -> Label_3
32+
FRAME[type: F_FULL, locals: 5, local: {test.ComplexIf, integer, integer, integer, integer}, stacks: 0, stack: {}]
33+
iconst_0
34+
Label_4:
35+
FRAME[type: F_SAME1, locals: 0, local: {}, stacks: 1, stack: {integer}]
36+
istore 5
37+
Label_5:
38+
LINE 4 -> Label_5
39+
bipush 9
40+
iconst_5
41+
if_icmpge Label_7
42+
Label_6:
43+
LINE 9 -> Label_6
44+
ldc "9 < 5" // type: java.lang.String
45+
goto Label_8
46+
Label_7:
47+
LINE 10 -> Label_7
48+
FRAME[type: F_APPEND, locals: 1, local: {integer}, stacks: 0, stack: {}]
49+
ldc "9 >= 5" // type: java.lang.String
50+
Label_8:
51+
FRAME[type: F_SAME1, locals: 0, local: {}, stacks: 1, stack: {java.lang.String}]
52+
astore 6
53+
Label_9:
54+
LINE 5 -> Label_9
55+
bipush 9
56+
iconst_5
57+
if_icmpge Label_11
58+
Label_10:
59+
LINE 11 -> Label_10
60+
ldc "9 < 5" // type: java.lang.String
61+
goto Label_12
62+
Label_11:
63+
LINE 12 -> Label_11
64+
FRAME[type: F_APPEND, locals: 1, local: {java.lang.String}, stacks: 0, stack: {}]
65+
ldc "9 >= 5" // type: java.lang.String
66+
Label_12:
67+
FRAME[type: F_SAME1, locals: 0, local: {}, stacks: 1, stack: {java.lang.String}]
68+
astore 6
69+
Label_13:
70+
LINE 6 -> Label_13
71+
iload 1
72+
ifeq Label_15
73+
iload 2
74+
ifeq Label_15
75+
iload 3
76+
ifne Label_14
77+
iload 4
78+
ifeq Label_15
79+
Label_14:
80+
LINE 13 -> Label_14
81+
FRAME[type: F_SAME, locals: 0, local: {}, stacks: 0, stack: {}]
82+
getstatic java.lang.System.out (type: java.io.PrintStream)
83+
ldc "true" // type: java.lang.String
84+
invokevirtual java.io.PrintStream.println(java.lang.String)void (ownerIsInterface: false)
85+
goto Label_16
86+
Label_15:
87+
LINE 14 -> Label_15
88+
FRAME[type: F_SAME, locals: 0, local: {}, stacks: 0, stack: {}]
89+
getstatic java.lang.System.out (type: java.io.PrintStream)
90+
ldc "false" // type: java.lang.String
91+
invokevirtual java.io.PrintStream.println(java.lang.String)void (ownerIsInterface: false)
92+
Label_16:
93+
FRAME[type: F_SAME, locals: 0, local: {}, stacks: 0, stack: {}]
94+
return
95+
Label_17:
96+
LocalVariables {
97+
index: 6, name: b, start: Label_8, end: Label_17, type: java.lang.String, signature: null
98+
index: 5, name: a, start: Label_4, end: Label_17, type: boolean, signature: null
99+
index: 4, name: z, start: Label_0, end: Label_17, type: boolean, signature: null
100+
index: 3, name: y, start: Label_0, end: Label_17, type: boolean, signature: null
101+
index: 2, name: x, start: Label_0, end: Label_17, type: boolean, signature: null
102+
index: 1, name: h, start: Label_0, end: Label_17, type: boolean, signature: null
103+
index: 0, name: this, start: Label_0, end: Label_17, type: test.ComplexIf, signature: null
104+
}
105+
}
106+
107+
!access: PACKAGE_PRIVATE, ACC_STATIC (8)
108+
static void <clinit>() {
109+
desc: ()V
110+
maxStack: 0, maxLocals: 0
111+
return
112+
}
113+
114+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
md5: 1c1750d3e37c5aa86e396b6f14361968
2+
3+
version: Java 8 (52)
4+
access: ACC_PUBLIC (33)
5+
6+
source: NewIf.cai
7+
8+
public class com.NewIf extends java.lang.Object {
9+
10+
!access: ACC_PUBLIC (1)
11+
!parameter[name: x, access: (0)]
12+
public int test(int) {
13+
desc: (I)I
14+
maxStack: 2, maxLocals: 2
15+
Label_0:
16+
LINE 3 -> Label_0
17+
iload 1
18+
bipush 7
19+
if_icmpeq Label_1
20+
iload 1
21+
bipush 9
22+
if_icmpne Label_3
23+
Label_1:
24+
LINE 4 -> Label_1
25+
FRAME[type: F_SAME, locals: 0, local: {}, stacks: 0, stack: {}]
26+
iconst_0
27+
ireturn
28+
Label_2:
29+
FRAME[type: F_FULL, locals: 0, local: {}, stacks: 1, stack: {java.lang.Throwable}]
30+
nop
31+
nop
32+
athrow
33+
Label_3:
34+
LINE 5 -> Label_3
35+
FRAME[type: F_APPEND, locals: 2, local: {com.NewIf, integer}, stacks: 0, stack: {}]
36+
iconst_1
37+
ireturn
38+
Label_4:
39+
LocalVariables {
40+
index: 1, name: x, start: Label_0, end: Label_4, type: int, signature: null
41+
index: 0, name: this, start: Label_0, end: Label_4, type: com.NewIf, signature: null
42+
}
43+
}
44+
45+
!access: ACC_PUBLIC (1)
46+
public void <init>() {
47+
desc: ()V
48+
maxStack: 1, maxLocals: 1
49+
Label_0:
50+
aload 0
51+
invokespecial java.lang.Object.<init>()void (ownerIsInterface: false)
52+
return
53+
Label_1:
54+
LocalVariables {
55+
index: 0, name: this, start: Label_0, end: Label_1, type: com.NewIf, signature: null
56+
}
57+
}
58+
59+
!access: PACKAGE_PRIVATE, ACC_STATIC (8)
60+
static void <clinit>() {
61+
desc: ()V
62+
maxStack: 0, maxLocals: 0
63+
return
64+
}
65+
66+
}

0 commit comments

Comments
 (0)