decompiler: map dummy return line to the method closing bracket

This commit is contained in:
Egor.Ushakov
2015-03-24 17:56:33 +03:00
parent 07e1d66a53
commit 500f8b12d8
34 changed files with 565 additions and 128 deletions

View File

@@ -5,13 +5,13 @@ public class TestInnerLocal {
public Inner(String var1) {
this.x = var1;// 22
}
}// 23
}
new Inner("test");// 25
new TestInnerLocal.Inner1Static("test");// 26
new TestInnerLocal.Inner1Static.Inner2Static("test");// 27
}
}// 28
public void testMethod() {
class Inner {
@@ -19,28 +19,28 @@ public class TestInnerLocal {
public Inner(String var2) {
this.x = var2;// 34
}
}// 35
}
new Inner("test");// 37
new TestInnerLocal.Inner1Static("test");// 38
new TestInnerLocal.Inner1("test");// 39
new TestInnerLocal.Inner1Static.Inner2Static("test");// 40
}
}// 41
static class Inner1Static {
final String x;
public Inner1Static(String var1) {
this.x = var1;// 53
}
}// 54
public static class Inner2Static {
final String x;
public Inner2Static(String var1) {
this.x = var1;// 59
}
}// 60
}
}
@@ -49,13 +49,14 @@ public class TestInnerLocal {
public Inner1(String var2) {
this.x = var2;// 46
}
}// 47
}
}
class 'TestInnerLocal$1Inner' {
method '<init> (Ljava/lang/String;)V' {
6 6
9 7
}
}
@@ -64,6 +65,7 @@ class 'TestInnerLocal' {
4 10
e 11
18 12
1e 13
}
method 'testMethod ()V' {
@@ -71,43 +73,61 @@ class 'TestInnerLocal' {
f 25
1a 26
24 27
2a 28
}
}
class 'TestInnerLocal$2Inner' {
method '<init> (LTestInnerLocal;Ljava/lang/String;)V' {
b 20
e 21
}
}
class 'TestInnerLocal$Inner1Static' {
method '<init> (Ljava/lang/String;)V' {
6 34
9 35
}
}
class 'TestInnerLocal$Inner1Static$Inner2Static' {
method '<init> (Ljava/lang/String;)V' {
6 41
9 42
}
}
class 'TestInnerLocal$Inner1' {
method '<init> (LTestInnerLocal;Ljava/lang/String;)V' {
b 50
e 51
}
}
Lines mapping:
22 <-> 7
23 <-> 8
25 <-> 11
26 <-> 12
27 <-> 13
28 <-> 14
34 <-> 21
35 <-> 22
37 <-> 25
38 <-> 26
39 <-> 27
40 <-> 28
41 <-> 29
46 <-> 51
47 <-> 52
53 <-> 35
54 <-> 36
59 <-> 42
60 <-> 43
Not mapped:
21
33
45
52
58