Community
Participate
Working Groups
build I20081202-1812 1) create a P1 java project with 1.5 compliance 2) create p/Test.java in P1 package p; import java.util.ArrayList; public class Test { public class Inner { public Inner(ArrayList<Object> o){} } } 3) create a P2 java project with 1.5 compliance 4) add P1/bin as class folder in the class path of P2 5) in P2 open the constructor of Inner in the PackageExplorer the label of the constructor is 'Inner(ArrayList<Object>)' 6) replace the content of P1/p/Tests.java with the following content package p; import java.util.ArrayList; public class Test { public class Inner { public Inner(Object o){} } } 7) the label of the constructor of Inner is replaced by 'Inner(Test,Object)' The label should be 'Inner(Object)' The problem seems to be inside ClassFileInfo#generateMethodInfos(). methodInfo.getGenericSignature() is used when the method contains a generic type and methodInfo.getMethodDescriptor() when there is no generic type. But the descriptor contains the enclosing type as first parameter and not the signature. generateMethodInfos() should ignore the synthetic parameter of the descriptor.
Changing Version tag to something more believable.
*** This bug has been marked as a duplicate of bug 47354 ***