Bug 136886 - Open declaration gives NPE in Scope.minimalErasedCandidates
Summary: Open declaration gives NPE in Scope.minimalErasedCandidates
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 minor (vote)
Target Milestone: 3.2 RC2   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-14 17:37 EDT by Alexis Lauthier CLA
Modified: 2006-04-28 14:28 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexis Lauthier CLA 2006-04-14 17:37:36 EDT
Eclipse 3.2RC1 (3.2.0 Build I20060413-1718), Sun 1.6.0-beta2-b77, Win XP SP2

On the same test case as [Bug 115918] :

==============================================
package bug;

public class BugBase<T extends BugBase> {
}
==============================================
package bug;

public class BugParent extends BugBase<BugChild> {
}
==============================================
package bug;

public class BugChild extends BugParent implements Comparable<BugChild> {

    public int compareTo(BugChild o) {
        return 0;
    }
}
==============================================


Pressing F3 key (open declaration) on "(BugParent extends)
BugBase" gives an "Error executing command" :

"Open Declaration" did not complete normally. Please see the log for more information.
Reason:
java.lang.NullPointerException

Selecting "Open declaration" in the contextual menu does nothing. It should go to the "BugBase" class.


.log information:

!SESSION 2006-04-14 23:00:56.406 -----------------------------------------------
eclipse.buildId=I20060413-1718
java.version=1.6.0-beta2
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_FR
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.ui 4 4 2006-04-14 23:01:13.609
!MESSAGE "Open Declaration" did not complete normally.  Please see the log for more information.

!ENTRY org.eclipse.ui 4 0 2006-04-14 23:01:13.609
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.lookup.Scope.minimalErasedCandidates(Scope.java:3169)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.hasErasedCandidatesCollisions(Scope.java:2639)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.checkForErasedCandidateCollisions(ClassScope.java:634)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.checkParameterizedTypeBounds(CompilationUnitScope.java:201)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:252)
	at org.eclipse.jdt.internal.codeassist.impl.Engine.accept(Engine.java:93)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:131)
	at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:178)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2498)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2237)
	at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:44)
	at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:153)
	at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveTypeArgument(TypeReference.java:176)
	at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.internalResolveType(ParameterizedSingleTypeReference.java:135)
	at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.resolveType(ParameterizedSingleTypeReference.java:209)
	at org.eclipse.jdt.internal.codeassist.select.SelectionOnParameterizedSingleTypeReference.resolveType(SelectionOnParameterizedSingleTypeReference.java:30)
	at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:110)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1091)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:815)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:940)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:284)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:251)
	at org.eclipse.jdt.internal.codeassist.SelectionEngine.select(SelectionEngine.java:661)
	at org.eclipse.jdt.internal.core.Openable.codeSelect(Openable.java:155)
	at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationUnit.java:326)
	at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationUnit.java:320)
	at org.eclipse.jdt.internal.ui.actions.SelectionConverter.codeResolve(SelectionConverter.java:248)
	at org.eclipse.jdt.internal.ui.actions.SelectionConverter.codeResolve(SelectionConverter.java:159)
	at org.eclipse.jdt.internal.ui.actions.SelectionConverter.codeResolve(SelectionConverter.java:180)
	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:133)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:271)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:243)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
	at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
	at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:460)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:424)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:160)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:466)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:799)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:846)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:564)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:506)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:122)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:982)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:924)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:949)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:934)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:962)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:958)
	at org.eclipse.swt.widgets.Widget.wmKeyDown(Widget.java:1557)
	at org.eclipse.swt.widgets.Control.WM_KEYDOWN(Control.java:3567)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3275)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4023)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1920)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2964)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:589)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
	at org.eclipse.core.launcher.Main.run(Main.java:977)
	at org.eclipse.core.launcher.Main.main(Main.java:952)
Comment 1 Kent Johnson CLA 2006-04-17 15:50:08 EDT
Added TypeHierarchyTests tesCycle2
Comment 2 Olivier Thomann CLA 2006-04-28 14:28:53 EDT
Verified with I20060427-1600 for 3.2RC2