public class TestInnerLocal { public static void testStaticMethod() { class Inner { final String x; public Inner(String var1) { this.x = var1;// 22 } } new Inner("test");// 25 new TestInnerLocal.Inner1Static("test");// 26 new TestInnerLocal.Inner1Static.Inner2Static("test");// 27 } public void testMethod() { class Inner { final String x; public Inner(String var2) { this.x = var2;// 34 } } new Inner("test");// 37 new TestInnerLocal.Inner1Static("test");// 38 new TestInnerLocal.Inner1("test");// 39 new TestInnerLocal.Inner1Static.Inner2Static("test");// 40 } static class Inner1Static { final String x; public Inner1Static(String var1) { this.x = var1;// 53 } public static class Inner2Static { final String x; public Inner2Static(String var1) { this.x = var1;// 59 } } } class Inner1 { final String x; public Inner1(String var2) { this.x = var2;// 46 } } } class 'TestInnerLocal$1Inner' { method ' (Ljava/lang/String;)V' { 6 6 } } class 'TestInnerLocal' { method 'testStaticMethod ()V' { 4 10 e 11 18 12 } method 'testMethod ()V' { 5 24 f 25 1a 26 24 27 } } class 'TestInnerLocal$2Inner' { method ' (LTestInnerLocal;Ljava/lang/String;)V' { b 20 } } class 'TestInnerLocal$Inner1Static' { method ' (Ljava/lang/String;)V' { 6 34 } } class 'TestInnerLocal$Inner1Static$Inner2Static' { method ' (Ljava/lang/String;)V' { 6 41 } } class 'TestInnerLocal$Inner1' { method ' (LTestInnerLocal;Ljava/lang/String;)V' { b 50 } } Lines mapping: 22 <-> 7 25 <-> 11 26 <-> 12 27 <-> 13 34 <-> 21 37 <-> 25 38 <-> 26 39 <-> 27 40 <-> 28 46 <-> 51 53 <-> 35 59 <-> 42