Community
Participate
Working Groups
Build Identifier: M20100909-0800 In the following code: ------------------------------------------------ public class NullBinding { enum MyEnum implements java.lang.Comparable<MyEnum>, One< Outer<Integer>.Inner<Double>[]> { RED, GREEN, BLUE; } } interface One<Season> { } class Outer<T> { public class Inner<S> { } } ------------------------------------------------ eclipse creates a null binding for the ParameterizedType node Outer<Integer> that qualifies the array parameter of One Interface (3rd line of the code above). This shouldn't be happening. This also happens in eclipse 3.4. Reproducible: Always Steps to Reproduce: 1. Create a project with a file NullBinding.java and paste the code in the "Details" It's easier to see this bug in eclipse 3.4, using the ASTViewer plug-in.
The TYPE property of the ParameterizedType node also generates a null binding.
This works fine with HEAD. I am only getting a problem to create an array type.
Here is the exception I am getting. java.lang.IllegalArgumentException at org.eclipse.jdt.core.Signature.getTypeSignatureKind(Signature.java:1140) at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabelComposer.appendTypeSignatureLabel(JavaElementLabelComposer.java:699) at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabelComposer.appendTypeSignatureLabel(JavaElementLabelComposer.java:705) at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabelComposer.appendTypeArgumentSignaturesLabel(JavaElementLabelComposer.java:760) at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabelComposer.appendTypeLabel(JavaElementLabelComposer.java:857) at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabelComposer.appendElementLabel(JavaElementLabelComposer.java:272) at org.eclipse.jdt.ui.JavaElementLabels.getElementLabel(JavaElementLabels.java:510) at org.eclipse.jdt.ui.JavaElementLabels.getElementLabel(JavaElementLabels.java:483) at org.eclipse.jdt.astview.views.JavaElement.getLabel(JavaElement.java:55) at org.eclipse.jdt.astview.views.ASTViewLabelProvider.getText(ASTViewLabelProvider.java:78) at org.eclipse.jface.viewers.WrappedViewerLabelProvider.getText(WrappedViewerLabelProvider.java:108) at org.eclipse.jface.viewers.WrappedViewerLabelProvider.update(WrappedViewerLabelProvider.java:164) at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:152) at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:934) at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:102) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1014) at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:481) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2146) at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:829) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:804) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:778) at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:644) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:749) at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:1444) at org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeViewer.java:952) at org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:1455) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:132) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7435) at org.eclipse.swt.widgets.Control.wmNotify(Control.java:5101) at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:1874) at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4731) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4220) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2368) at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1536) at org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:6308) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4200) at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5849) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2465) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3673) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$6.run(PartRenderingEngine.java:808) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:724) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:89) at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:534) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:516) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:369) 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:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
(In reply to comment #2) > This works fine with HEAD. I am only getting a problem to create an array type. May I ask you how are you testing whether the parameterized binding is null?
Closing as a dup of bug 333360. This is the same issue. Fixing one will fix the other one. I still need to investigate the problem found in comment 3. *** This bug has been marked as a duplicate of bug 333360 ***