decompiler: major line numbers fixes

This commit is contained in:
Egor.Ushakov
2014-12-25 21:36:19 +03:00
parent 4a6a658b4c
commit 4ee8ad716d
49 changed files with 1124 additions and 142 deletions

View File

@@ -5,45 +5,122 @@ import java.util.List;
public class TestClassTypes {
public void testBoolean() {
byte var1 = 0;
long var2 = System.currentTimeMillis();
if(var2 % 2L > 0L) {
var1 = 1;
} else if(var2 % 3L > 0L) {
var1 = 2;
byte var1 = 0;// 25
long var2 = System.currentTimeMillis();// 26
if(var2 % 2L > 0L) {// 28
var1 = 1;// 29
} else if(var2 % 3L > 0L) {// 31
var1 = 2;// 32
}
if(var1 == 1) {
System.out.println();
if(var1 == 1) {// 35
System.out.println();// 36
}
}
public boolean testBit(int var1) {
return (var1 & 1) == 1;
return (var1 & 1) == 1;// 41
}
public void testSwitchConsts(int var1) {
switch(var1) {
switch(var1) {// 46
case 88:
System.out.println("1");
System.out.println("1");// 48
break;
case 656:
System.out.println("2");
System.out.println("2");// 51
break;
case 65201:
case 65489:
System.out.println("3");
System.out.println("3");// 55
}
}
public void testAssignmentType(List var1) {
Object var2 = var1;
if(var1 != null) {
((List)(var2 = new ArrayList(var1))).add("23");
Object var2 = var1;// 61
if(var1 != null) {// 63
((List)(var2 = new ArrayList(var1))).add("23");// 64
}
System.out.println(((List)var2).size());
System.out.println(((List)var2).size());// 67
}
}
class 'pkg/TestClassTypes' {
method 'testBoolean ()V' {
0 7
1 7
2 8
5 8
7 9
a 9
b 9
c 9
d 9
10 10
11 10
16 11
19 11
1a 11
1b 11
1c 11
1f 12
20 12
22 15
23 15
26 16
29 16
}
method 'testBit (I)Z' {
1 22
2 22
3 22
c 22
}
method 'testSwitchConsts (I)V' {
1 26
2c 28
2f 28
31 28
37 31
3a 31
3c 31
42 35
45 35
47 35
}
method 'testAssignmentType (Ljava/util/List;)V' {
1 41
3 42
f 43
10 43
12 43
18 46
1c 46
21 46
}
}
Lines mapping:
25 <-> 8
26 <-> 9
28 <-> 10
29 <-> 11
31 <-> 12
32 <-> 13
35 <-> 16
36 <-> 17
41 <-> 23
46 <-> 27
48 <-> 29
51 <-> 32
55 <-> 36
61 <-> 42
63 <-> 43
64 <-> 44
67 <-> 47