Community
Participate
Working Groups
20041215 In a 5.0 project create the following file and do a 'organize import' on it. -------------- package p; public class R { class A { <A, B> void foo(List<String> args) { } } class B extends A { } } ------------------ java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.lookup.MethodBinding.genericSignature(MethodBinding.java:335) at org.eclipse.jdt.internal.compiler.lookup.MethodBinding.computeUniqueKey(MethodBinding.java:289) at org.eclipse.jdt.internal.compiler.lookup.MethodBinding.computeUniqueKey(MethodBinding.java:278) at org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.computeUniqueKey(TypeVariableBinding.java:126) at org.eclipse.jdt.core.dom.TypeBinding.getKey(TypeBinding.java:371) at org.eclipse.jdt.core.dom.DefaultBindingResolver.resolveTypeParameter(DefaultBindingResolver.java:1122) at org.eclipse.jdt.core.dom.TypeParameter.resolveBinding(TypeParameter.java:211) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2462) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:547) at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:175) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2424) at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:180) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2424) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1159) at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:220) at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:729) at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:574) at org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation.<init>(OrganizeImportsOperation.java:285) at org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation.<init>(OrganizeImportsOperation.java:289) at org.eclipse.jdt.ui.actions.OrganizeImportsAction.run(OrganizeImportsAction.java:441) at org.eclipse.jdt.ui.actions.OrganizeImportsAction.run(OrganizeImportsAction.java:270) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:216) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:188) at org.eclipse.jface.action.Action.runWithEvent(Action.java:989) at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:188) ...
*** Bug 80949 has been marked as a duplicate of this bug. ***
Simpler test case. Create an AST and resolve the following cu: public class X { <T> void foo(NonExisting arg) { } }
Created attachment 16642 [details] Proposed patch Fix consists in nullifying the type variable bindings if there is a problem with the argument, so that there is no backpointer to an invalid method binding.
Created attachment 16643 [details] Regression test
Released fix and test to HEAD
Regression test is ASTConverter15Tst#test0095
Verified in 200412160010