Bug 100142 - CCE when calling ITypeBinding#getJavaElement() on char[][]
Summary: CCE when calling ITypeBinding#getJavaElement() on char[][]
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.1 RC3   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-15 05:40 EDT by Markus Keller CLA
Modified: 2005-06-16 14:11 EDT (History)
1 user (show)

See Also:


Attachments
Change in TypeBinding (1.09 KB, patch)
2005-06-15 07:34 EDT, Jerome Lanneluc CLA
no flags Details | Diff
Regression test (1.71 KB, patch)
2005-06-15 07:34 EDT, Jerome Lanneluc CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Keller CLA 2005-06-15 05:40:52 EDT
N20050615-0010

public class Try {
    char[][] names;
}

In the ASTView, look at the type binding for char[][].

Error 2005-06-15 11:32:53.634 An error occurred while calculating an AST View
Label:>java element: java.lang.ClassCastException for "[[C"
java.lang.ClassCastException:
org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding
at
org.eclipse.jdt.core.dom.TypeBinding.getUnresolvedJavaElement(TypeBinding.java:395)
at org.eclipse.jdt.core.dom.TypeBinding.getJavaElement(TypeBinding.java:370)
at org.eclipse.jdt.astview.views.Binding.getChildren(Binding.java:191)
at
org.eclipse.jdt.astview.views.ASTViewContentProvider.getChildren(ASTViewContentProvider.java:92)
at
org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:899)
at
org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:790)
at
org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredViewer.java:905)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:512)
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.handleTreeExpand(AbstractTreeViewer.java:948)
at
org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:959)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:179)
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.Widget.sendEvent(Widget.java:868)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:853)
at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:3703)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:3567)
at org.eclipse.swt.widgets.Composite.WM_NOTIFY(Composite.java:1035)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3088)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:3682)
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1579)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:219)
at org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:2814)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3070)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:2390)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:3682)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1655)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2689)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1716)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1680)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:365)
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:376)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
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 Jerome Lanneluc CLA 2005-06-15 07:34:02 EDT
Created attachment 23166 [details]
Change in TypeBinding

Changed TypeBinding#getUnresolvedJavaElement() to recurse into the
leafComponentType of the array.
Comment 2 Jerome Lanneluc CLA 2005-06-15 07:34:27 EDT
Created attachment 23167 [details]
Regression test
Comment 3 Philipe Mulet CLA 2005-06-15 07:42:11 EDT
+1 for RC3

Dirk - pls cast your vote
Comment 4 Dirk Baeumer CLA 2005-06-15 10:54:25 EDT
+1 for RC3.
Comment 5 Jerome Lanneluc CLA 2005-06-15 12:29:37 EDT
Thanks Dirk.
Released fix and test.
Comment 6 Olivier Thomann CLA 2005-06-16 14:11:37 EDT
Verified using N20050616-0010 + JDT/Core HEAD