Community
Participate
Working Groups
Build id: N20050615-0010 Stack trace: java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.lookup.RawTypeBinding.readableName (RawTypeBinding.java:154) at org.eclipse.jdt.internal.compiler.lookup.RawTypeBinding.readableName (RawTypeBinding.java:154) at org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unsafeTypeConversion (ProblemReporter.java:5390) at org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.resolve (LocalDeclaration.java:208) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatement s(AbstractMethodDeclaration.java:418) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements (MethodDeclaration.java:171) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve (AbstractMethodDeclaration.java:396) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDeclaration.java:1063) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDeclaration.java:1112) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve (CompilationUnitDeclaration.java:305) at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:504) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:329) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile (AbstractImageBuilder.java:240) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile (AbstractImageBuilder.java:213) at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build (BatchImageBuilder.java:50) at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll (JavaBuilder.java:213) at org.eclipse.jdt.internal.core.builder.JavaBuilder.build (JavaBuilder.java:136) at org.eclipse.core.internal.events.BuildManager$2.run (BuildManager.java:593) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:1044) at org.eclipse.core.runtime.Platform.run(Platform.java:783) at org.eclipse.core.internal.events.BuildManager.basicBuild (BuildManager.java:168) at org.eclipse.core.internal.events.BuildManager.basicBuild (BuildManager.java:202) at org.eclipse.core.internal.events.BuildManager$1.run (BuildManager.java:231) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:1044) at org.eclipse.core.runtime.Platform.run(Platform.java:783) at org.eclipse.core.internal.events.BuildManager.basicBuild (BuildManager.java:234) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop (BuildManager.java:253) at org.eclipse.core.internal.events.BuildManager.build (BuildManager.java:282) at org.eclipse.core.internal.resources.Workspace.build (Workspace.java:211) at org.eclipse.ui.actions.GlobalBuildAction$1.run (GlobalBuildAction.java:182) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76) The source is taken from the test case submitted with https://bugs.eclipse.org/bugs/show_bug.cgi?id=100128. Still need to reduce the test case to a smaller one.
+1 for RC3. Dani - pls cast your vote. Compiler is dying trying to report an error. The offending testcase is real production code.
+1 for 3.1 RC3.
Reduced testcase: public class X<K, V> { static class EntryMap<K, V> { class Entry { } } EntryMap.Entry internalGet(Object key) { } void foo(Object key) { EntryMap<K,V>.Entry entry = internalGet(key); } }
Problem lies in QualifiedTypeReference, where we misconstruct the proper type binding (leaving the member raw type with no enclosing type). Added GenericTypeTest#test757#test758. Fixed
Fixd
Verified using N20050616-0010 + JDT/Core HEAD