IDEA-149813 Decompiler has lost generic parameter

This commit is contained in:
Egor.Ushakov
2017-01-10 12:03:26 +03:00
parent fe5260df8a
commit 32693c314a
8 changed files with 126 additions and 13 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,50 @@
package pkg;
import java.util.ArrayList;
import java.util.Comparator;
public class TestAnonymousSignature {
public static void main(String[] var0) {
System.out.println(new ArrayList<String>() {// 25
public int size() {
return super.size();// 28
}
});
System.out.println(new Comparator<String>() {// 33
public int compare(String var1, String var2) {
return 0;// 36
}
});
}// 39
}
class 'pkg/TestAnonymousSignature$1' {
method 'size ()I' {
1 9
4 9
}
}
class 'pkg/TestAnonymousSignature$2' {
method 'compare (Ljava/lang/String;Ljava/lang/String;)I' {
0 14
1 14
}
}
class 'pkg/TestAnonymousSignature' {
method 'main ([Ljava/lang/String;)V' {
0 7
a 7
d 12
17 12
1a 17
}
}
Lines mapping:
25 <-> 8
28 <-> 10
33 <-> 13
36 <-> 15
39 <-> 18

View File

@@ -0,0 +1,40 @@
/*
* Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package pkg;
import java.util.ArrayList;
import java.util.Comparator;
public class TestAnonymousSignature {
public static void main(String[] args) {
// anonymous from class
System.out.println(new ArrayList<String>() {
@Override
public int size() {
return super.size();
}
});
// anonymous from class
System.out.println(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return 0;
}
});
}
}