Bug 98259 - NPE computing ITypeBinding#getKey()
Summary: NPE computing ITypeBinding#getKey()
Status: CLOSED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.1   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: 3.1 RC2   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-03 08:15 EDT by Markus Keller CLA
Modified: 2005-06-10 11:10 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 Markus Keller CLA 2005-06-03 08:15:42 EDT
N20050603-0010

- select return type of Collections.synchronizedList(List<T>) in the editor
- try to open ASTView
- this exception happens while trying to get the key for the return type List<T>:

Error 2005-06-03 14:11:12.134 Could not set AST view input
org.eclipse.core.runtime.CoreException[4]: java.lang.NullPointerException
at
org.eclipse.jdt.internal.compiler.lookup.MethodBinding.sourceMethod(MethodBinding.java:706)
at
org.eclipse.jdt.internal.compiler.lookup.MethodBinding.sourceStart(MethodBinding.java:713)
at
org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.computeUniqueKey(TypeVariableBinding.java:229)
at
org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.computeUniqueKey(ParameterizedTypeBinding.java:203)
at
org.eclipse.jdt.internal.compiler.lookup.Binding.computeUniqueKey(Binding.java:45)
at org.eclipse.jdt.core.dom.TypeBinding.getKey(TypeBinding.java:453)
at org.eclipse.jdt.astview.views.Binding.getChildren(Binding.java:73)
at
org.eclipse.jdt.astview.views.ASTViewContentProvider.getChildren(ASTViewContentProvider.java:92)
at
org.eclipse.jdt.astview.views.ASTViewContentProvider.hasChildren(ASTViewContentProvider.java:228)
at
org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:1378)
at
org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:1840)
at
org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:536)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:514)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at
org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:494)
at
org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1076)
at
org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1073)
at
org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1073)
at
org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1073)
at
org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:1613)
at
org.eclipse.jface.viewers.StructuredViewer.setSelectionToWidget(StructuredViewer.java:1494)
at
org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1450)
at org.eclipse.jdt.astview.views.ASTView.internalSetInput(ASTView.java:493)
at org.eclipse.jdt.astview.views.ASTView.setInput(ASTView.java:464)
at org.eclipse.jdt.astview.views.ASTView.performSetFocus(ASTView.java:1051)
at org.eclipse.jdt.astview.views.ASTView$14.run(ASTView.java:816)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:996)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:538)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
at
org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:441)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:844)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2933)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2566)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1717)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1681)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:366)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:375)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:162)
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:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
at org.eclipse.core.launcher.Main.run(Main.java:973)
at org.eclipse.core.launcher.Main.main(Main.java:948)
Comment 1 Olivier Thomann CLA 2005-06-03 08:38:05 EDT
The problem comes from a null scope.
Comment 2 Philipe Mulet CLA 2005-06-03 12:44:19 EDT
+1 for RC2
Comment 3 Jerome Lanneluc CLA 2005-06-03 12:58:11 EDT
Changed TypeVariableBinding#computeUniqueKey(...) to use the index of the method
instead of its source position. Adpated BindingKeyResolver to this changed.

Added regression test ASTConverter15Test#test0187() and changed
BatchASTCreationTest#test065() to reflect this change.
Comment 4 Olivier Thomann CLA 2005-06-06 21:14:44 EDT
Verified in N20050606-0010 + JDT/Core HEAD
Comment 5 Frederic Fusier CLA 2005-06-10 11:10:59 EDT
Verified for 3.1 RC2 using build I20050610-0010