Bug 232045 - NPE in IBinding#getJavaElement() for recovered parameterized type
Summary: NPE in IBinding#getJavaElement() for recovered parameterized type
Status: VERIFIED DUPLICATE of bug 232037
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.4 RC1   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-14 06:59 EDT by Markus Keller CLA
Modified: 2008-05-16 04:05 EDT (History)
2 users (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 2008-05-14 06:59:07 EDT
I20080513-2000

- paste to Package Explorer:
package p;
public class C {
	void m() {
		new java.util.List<URL>();
	}
}

- open ASTView (Use SharedASTProvider.getAST)
- select "new java.util.List<URL>()"
- expand corresponding ClassInstanceCreation in ASTView
=> NPE below


Exception thrown in IBinding#getJavaElement() for "Ljava/util/List<LURL;>;"

java.lang.NullPointerException
at java.util.Hashtable.get(Hashtable.java:334)
at org.eclipse.jdt.internal.core.OverflowingLRUCache.put(OverflowingLRUCache.java:319)
at org.eclipse.jdt.internal.core.BufferManager.addBuffer(BufferManager.java:57)
at org.eclipse.jdt.internal.core.CompilationUnit.openBuffer(CompilationUnit.java:1187)
at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:161)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:257)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:514)
at org.eclipse.jdt.internal.core.BecomeWorkingCopyOperation.executeOperation(BecomeWorkingCopyOperation.java:38)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:709)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:769)
at org.eclipse.jdt.internal.core.CompilationUnit.getWorkingCopy(CompilationUnit.java:1017)
at org.eclipse.jdt.internal.core.CompilationUnit.getWorkingCopy(CompilationUnit.java:992)
at org.eclipse.jdt.core.dom.TypeBinding.getJavaElement(TypeBinding.java:472)
at org.eclipse.jdt.astview.views.Binding.getChildren(Binding.java:247)
at org.eclipse.jdt.astview.views.ASTViewContentProvider.getChildren(ASTViewContentProvider.java:95)
at org.eclipse.jdt.astview.views.ASTViewContentProvider.hasChildren(ASTViewContentProvider.java:227)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2076)
at org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer.java:582)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2102)
at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:2752)
at org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.java:842)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:828)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:802)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:776)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:634)
at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:1442)
at org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeViewer.java:927)
at org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:1453)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:125)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1026)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1011)
at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7209)
at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4713)
at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:1756)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4343)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3836)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4506)
at org.eclipse.swt.internal.win32.OS.$$YJP$$CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(OS.java)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2260)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1521)
at org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:6161)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3817)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5703)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4519)
at org.eclipse.swt.internal.win32.OS.$$YJP$$DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(OS.java)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2346)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3398)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2387)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2351)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2203)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:112)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:379)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Comment 1 Jerome Lanneluc CLA 2008-05-14 13:34:30 EDT
The NPE is in the .log.
Fix for bug 232037 fixes this problem as well.

*** This bug has been marked as a duplicate of bug 232037 ***
Comment 2 David Audel CLA 2008-05-16 04:05:55 EDT
Verified for 3.4RC1 using I20080515-2000.