Skip to content

Commit 6fc2ca7

Browse files
committed
Updated Disassembler and disassembled codes.
1 parent 8dbfc19 commit 6fc2ca7

File tree

37 files changed

+1271
-972
lines changed

37 files changed

+1271
-972
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ buildscript {
1818
}
1919

2020
group 'com.github.jonathanxd'
21-
version '3.0.2-c'
21+
version '3.0.2-d'
2222

2323
apply from: project(":CodeAPI").file("gradle/common.gradle")
2424

2525
dependencies {
2626
compile project(":CodeAPI")
27-
compile 'com.github.JonathanxD:BytecodeDisassembler:2.0'
27+
compile 'com.github.JonathanxD:BytecodeDisassembler:2.0-a'
2828
compile group: 'org.ow2.asm', name: 'asm-all', version: '5.1'
2929
testCompile project(path: ':CodeAPI', configuration: 'tests')
3030
}
Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,60 @@
11
md5: ddff12ea4f48eea2d77c8debb229fdd8
22

3-
version: 52 (Java 8)
4-
access: 33 (ACC_PUBLIC)
3+
version: Java 8
4+
access: ACC_PUBLIC
55

6-
source: AnnotatedTestClass.cai, debug: null
6+
source: AnnotatedTestClass.cai
77

8-
@com.github.jonathanxd.codeapi.test.AnnotatedTest_$Simple(value = {, , com.github.jonathanxd.codeapi.test.AnnotatedTest_$MyEnum.A, com.github.jonathanxd.codeapi.test.AnnotatedTest_$MyEnum.B, com.github.jonathanxd.codeapi.test.AnnotatedTest_$MyEnum.C
8+
@com.github.jonathanxd.codeapi.test.AnnotatedTest_$Simple(value = {com.github.jonathanxd.codeapi.test.AnnotatedTest_$MyEnum.A, com.github.jonathanxd.codeapi.test.AnnotatedTest_$MyEnum.B, com.github.jonathanxd.codeapi.test.AnnotatedTest_$MyEnum.C})
99
public class test.AnnotatedTestClass extends java.lang.Object {
1010

11-
12-
@com.github.jonathanxd.codeapi.test.AnnotatedTest_$Simple(value = {, , com.github.jonathanxd.codeapi.test.AnnotatedTest_$MyEnum.A
13-
!access: 9 (ACC_PUBLIC, ACC_STATIC)
11+
!access: ACC_PUBLIC, ACC_STATIC
12+
@com.github.jonathanxd.codeapi.test.AnnotatedTest_$Simple(value = {com.github.jonathanxd.codeapi.test.AnnotatedTest_$MyEnum.A})
1413
public static java.lang.String field
1514

16-
17-
@java.lang.invoke.MethodHandle.PolymorphicSignature(
18-
!parameterAnnotation(parameter: 0) [@java.lang.Deprecated(
19-
!access: 9 (ACC_PUBLIC, ACC_STATIC)
15+
!access: ACC_PUBLIC, ACC_STATIC
16+
!parametersAnnotations [
17+
[0] {
18+
@java.lang.Deprecated()
19+
}
20+
]
21+
@java.lang.invoke.MethodHandle.PolymorphicSignature()
2022
public static java.lang.Object polymorphic(java.lang.Object) {
23+
desc: (Ljava/lang/Object;)Ljava/lang/Object;
24+
maxStack: 1, maxLocals: 1
2125
Label_0:
2226
LINE 4 -> Label_0
2327
aconst_null
2428
areturn
2529
Label_1:
26-
LOCAL_VARIABLE[index: 0, name: first, desc: Ljava/lang/Object;, signature: null, start: Label_0, end: Label_1]
27-
MAX_STACK: 1, MAX_LOCALS: 1
30+
LocalVariables {
31+
index: 0, start: Label_0, end: Label_0, type: java.lang.Object, signature: null
32+
}
2833
}
29-
30-
!access: 1 (ACC_PUBLIC)
34+
35+
!access: ACC_PUBLIC
3136
public void <init>() {
37+
desc: ()V
38+
maxStack: 1, maxLocals: 1
3239
Label_0:
3340
aload 0
3441
invokespecial java.lang.Object.<init>()void (ownerIsInterface: false)
3542
return
3643
Label_1:
37-
LOCAL_VARIABLE[index: 0, name: this, desc: Ltest/AnnotatedTestClass;, signature: null, start: Label_0, end: Label_1]
38-
MAX_STACK: 1, MAX_LOCALS: 1
44+
LocalVariables {
45+
index: 0, start: Label_0, end: Label_0, type: test.AnnotatedTestClass, signature: null
46+
}
3947
}
40-
41-
!access: 8 (PACKAGE_PRIVATE, ACC_STATIC)
48+
49+
!access: PACKAGE_PRIVATE, ACC_STATIC
4250
static void <clinit>() {
51+
desc: ()V
52+
maxStack: 1, maxLocals: 0
4353
Label_0:
4454
LINE 5 -> Label_0
4555
aconst_null
4656
putstatic test.AnnotatedTestClass.field (type: java.lang.String)
4757
return
48-
MAX_STACK: 1, MAX_LOCALS: 0
4958
}
59+
5060
}
Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,44 @@
11
md5: 8c2a7dd680237c5303ba8477dd1ebabf
22

3-
version: 52 (Java 8)
4-
access: 9729 (ACC_PUBLIC, ACC_ABSTRACT)
3+
version: Java 8
4+
access: ACC_PUBLIC, ACC_ABSTRACT
5+
6+
source: MyAnnotation.cai
57

6-
source: MyAnnotation.cai, debug: null
78
public abstract class com.MyAnnotation extends java.lang.Object implements java.lang.annotation.Annotation {
89

9-
!access: 1025 (ACC_PUBLIC, ACC_ABSTRACT)
10+
!access: ACC_PUBLIC
1011
public abstract java.lang.String value() {
12+
desc: ()Ljava/lang/String;
13+
maxStack: 0, maxLocals: 0
1114
}
12-
13-
!access: 1025 (ACC_PUBLIC, ACC_ABSTRACT)
15+
16+
!access: ACC_PUBLIC
17+
!annotationDefault: kotlin.Unit
1418
public abstract java.lang.String id() {
15-
default: A
19+
desc: ()Ljava/lang/String;
20+
maxStack: 0, maxLocals: 0
1621
}
17-
18-
!access: 1025 (ACC_PUBLIC, ACC_ABSTRACT)
22+
23+
!access: ACC_PUBLIC
24+
!annotationDefault: kotlin.Unit
1925
public abstract java.lang.String[] names() {
20-
default: {, , A, B
26+
desc: ()[Ljava/lang/String;
27+
maxStack: 0, maxLocals: 0
2128
}
22-
23-
!access: 1025 (ACC_PUBLIC, ACC_ABSTRACT)
29+
30+
!access: ACC_PUBLIC
31+
!annotationDefault: kotlin.Unit
2432
public abstract int[] ns() {
25-
default: {1, 2}
33+
desc: ()[I
34+
maxStack: 0, maxLocals: 0
2635
}
27-
28-
!access: 8 (PACKAGE_PRIVATE, ACC_STATIC)
36+
37+
!access: PACKAGE_PRIVATE, ACC_STATIC
2938
static void <clinit>() {
39+
desc: ()V
40+
maxStack: 0, maxLocals: 0
3041
return
31-
MAX_STACK: 0, MAX_LOCALS: 0
3242
}
43+
3344
}
Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
md5: dcd7594445b874fe9f605828d7b84d86
22

3-
version: 52 (Java 8)
4-
access: 33 (ACC_PUBLIC)
3+
version: Java 8
4+
access: ACC_PUBLIC
5+
6+
source: ArrayParameterTest_Generated.cai
57

6-
source: ArrayParameterTest_Generated.cai, debug: null
78
public class com.github.jonathanxd.codeapi.test.asm.ArrayParameterTest_Generated extends java.lang.Object {
89

9-
!access: 1 (ACC_PUBLIC)
10+
!access: ACC_PUBLIC
1011
public void <init>(com.github.jonathanxd.codeapi.test.asm.ArrayParameterTest$Text[]) {
12+
desc: ([Lcom/github/jonathanxd/codeapi/test/asm/ArrayParameterTest$Text;)V
13+
maxStack: 1, maxLocals: 4
1114
Label_0:
1215
aload 0
1316
invokespecial java.lang.Object.<init>()void (ownerIsInterface: false)
@@ -21,16 +24,19 @@ public class com.github.jonathanxd.codeapi.test.asm.ArrayParameterTest_Generated
2124
astore 3
2225
return
2326
Label_3:
24-
LOCAL_VARIABLE[index: 0, name: this, desc: Lcom/github/jonathanxd/codeapi/test/asm/ArrayParameterTest_Generated;, signature: null, start: Label_0, end: Label_3]
25-
LOCAL_VARIABLE[index: 1, name: par, desc: [Lcom/github/jonathanxd/codeapi/test/asm/ArrayParameterTest$Text;, signature: null, start: Label_0, end: Label_3]
26-
LOCAL_VARIABLE[index: 2, name: cf, desc: Ljava/lang/Object;, signature: null, start: Label_1, end: Label_3]
27-
LOCAL_VARIABLE[index: 3, name: lt, desc: [Lcom/github/jonathanxd/codeapi/test/asm/ArrayParameterTest$Text;, signature: null, start: Label_2, end: Label_3]
28-
MAX_STACK: 1, MAX_LOCALS: 4
27+
LocalVariables {
28+
index: 0, start: Label_0, end: Label_0, type: com.github.jonathanxd.codeapi.test.asm.ArrayParameterTest_Generated, signature: null
29+
index: 1, start: Label_0, end: Label_0, type: com.github.jonathanxd.codeapi.test.asm.ArrayParameterTest$Text[], signature: null
30+
index: 2, start: Label_1, end: Label_1, type: java.lang.Object, signature: null
31+
index: 3, start: Label_2, end: Label_2, type: com.github.jonathanxd.codeapi.test.asm.ArrayParameterTest$Text[], signature: null
32+
}
2933
}
30-
31-
!access: 8 (PACKAGE_PRIVATE, ACC_STATIC)
34+
35+
!access: PACKAGE_PRIVATE, ACC_STATIC
3236
static void <clinit>() {
37+
desc: ()V
38+
maxStack: 0, maxLocals: 0
3339
return
34-
MAX_STACK: 0, MAX_LOCALS: 0
3540
}
41+
3642
}

src/test/resources/disassembled/ArrayTest_CommonGen_Generated_Result.class.disassembled

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
md5: 4c507f17a15a862a49fa126b2d6bde94
22

3-
version: 52 (Java 8)
4-
access: 33 (ACC_PUBLIC)
3+
version: Java 8
4+
access: ACC_PUBLIC
5+
6+
source: CommonGen_Generated.cai
57

6-
source: CommonGen_Generated.cai, debug: null
78
public class com.github.jonathanxd.codeapi.test.CommonGen_Generated extends java.lang.Object {
89

9-
!access: 1 (ACC_PUBLIC)
10+
!access: ACC_PUBLIC
1011
public void <init>() {
12+
desc: ()V
13+
maxStack: 7, maxLocals: 4
1114
Label_0:
1215
aload 0
1316
invokespecial java.lang.Object.<init>()void (ownerIsInterface: false)
@@ -21,23 +24,23 @@ public class com.github.jonathanxd.codeapi.test.CommonGen_Generated extends java
2124
anewarray java.lang.String
2225
dup
2326
iconst_0
24-
ldc "A"
27+
ldc "A" // type: java.lang.String
2528
aastore
2629
dup
2730
iconst_1
28-
ldc "B"
31+
ldc "B" // type: java.lang.String
2932
aastore
3033
dup
3134
iconst_2
32-
ldc "C"
35+
ldc "C" // type: java.lang.String
3336
aastore
3437
dup
3538
iconst_3
36-
ldc "D"
39+
ldc "D" // type: java.lang.String
3740
aastore
3841
dup
3942
iconst_4
40-
ldc "E"
43+
ldc "E" // type: java.lang.String
4144
aastore
4245
aastore
4346
dup
@@ -46,23 +49,23 @@ public class com.github.jonathanxd.codeapi.test.CommonGen_Generated extends java
4649
anewarray java.lang.String
4750
dup
4851
iconst_0
49-
ldc "F"
52+
ldc "F" // type: java.lang.String
5053
aastore
5154
dup
5255
iconst_1
53-
ldc "G"
56+
ldc "G" // type: java.lang.String
5457
aastore
5558
dup
5659
iconst_2
57-
ldc "H"
60+
ldc "H" // type: java.lang.String
5861
aastore
5962
dup
6063
iconst_3
61-
ldc "I"
64+
ldc "I" // type: java.lang.String
6265
aastore
6366
dup
6467
iconst_4
65-
ldc "J"
68+
ldc "J" // type: java.lang.String
6669
aastore
6770
aastore
6871
Label_2:
@@ -99,16 +102,19 @@ public class com.github.jonathanxd.codeapi.test.CommonGen_Generated extends java
99102
invokevirtual java.io.PrintStream.println(java.lang.Object)void (ownerIsInterface: false)
100103
return
101104
Label_8:
102-
LOCAL_VARIABLE[index: 0, name: this, desc: Lcom/github/jonathanxd/codeapi/test/CommonGen_Generated;, signature: null, start: Label_0, end: Label_8]
103-
LOCAL_VARIABLE[index: 1, name: array, desc: [[Ljava/lang/String;, signature: null, start: Label_2, end: Label_8]
104-
LOCAL_VARIABLE[index: 2, name: array2, desc: [Ljava/lang/String;, signature: null, start: Label_4, end: Label_8]
105-
LOCAL_VARIABLE[index: 3, name: array3, desc: [Ljava/lang/Object;, signature: null, start: Label_6, end: Label_8]
106-
MAX_STACK: 7, MAX_LOCALS: 4
105+
LocalVariables {
106+
index: 0, start: Label_0, end: Label_0, type: com.github.jonathanxd.codeapi.test.CommonGen_Generated, signature: null
107+
index: 1, start: Label_2, end: Label_2, type: java.lang.String[][], signature: null
108+
index: 2, start: Label_4, end: Label_4, type: java.lang.String[], signature: null
109+
index: 3, start: Label_6, end: Label_6, type: java.lang.Object[], signature: null
110+
}
107111
}
108-
109-
!access: 8 (PACKAGE_PRIVATE, ACC_STATIC)
112+
113+
!access: PACKAGE_PRIVATE, ACC_STATIC
110114
static void <clinit>() {
115+
desc: ()V
116+
maxStack: 0, maxLocals: 0
111117
return
112-
MAX_STACK: 0, MAX_LOCALS: 0
113118
}
119+
114120
}
Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
11
md5: ee4046378c5aa54db6cad3f03a433ecf
22

3-
version: 52 (Java 8)
4-
access: 1537 (ACC_PUBLIC, ACC_ABSTRACT)
5-
signature: <T::Ljava/lang/Iterable<*>;>Ljava/lang/Object;
3+
version: Java 8
4+
access: ACC_PUBLIC, ACC_ABSTRACT
5+
6+
source: AB.cai
67

7-
source: AB.cai, debug: null
88
public abstract class com.AB extends java.lang.Object {
99

10-
!access: 1025 (ACC_PUBLIC, ACC_ABSTRACT)
10+
!access: ACC_PUBLIC
1111
!signature: (TT;)V
1212
public abstract void iterate(java.lang.Iterable) {
13+
desc: (Ljava/lang/Iterable;)V
14+
maxStack: 0, maxLocals: 0
1315
}
14-
15-
!access: 8 (PACKAGE_PRIVATE, ACC_STATIC)
16+
17+
!access: PACKAGE_PRIVATE, ACC_STATIC
1618
static void <clinit>() {
19+
desc: ()V
20+
maxStack: 0, maxLocals: 0
1721
return
18-
MAX_STACK: 0, MAX_LOCALS: 0
1922
}
23+
2024
}

0 commit comments

Comments
 (0)