Bug 226134 - CCE in SourceMethod.getDefaultValue() for constructor
Summary: CCE in SourceMethod.getDefaultValue() for constructor
Status: VERIFIED FIXED
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 M7   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-08 10:31 EDT by Markus Keller CLA
Modified: 2008-04-29 05:22 EDT (History)
1 user (show)

See Also:


Attachments
Proposed fix and regression test (2.37 KB, patch)
2008-04-08 13:24 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 2008-04-08 10:31:12 EDT
I20080401-0851

package p;
class A{
	A(){
	}
}

On IMethod for constructor A(), call getDefaultValue() (e.g. try to focus on the constructor in the JavaElement view).


Error
Tue Apr 08 16:26:31 CEST 2008
Problems occurred when invoking code from plug-in: "org.eclipse.jface".

java.lang.ClassCastException: org.eclipse.jdt.internal.core.SourceConstructorInfo cannot be cast to org.eclipse.jdt.internal.core.SourceMethodInfo
	at org.eclipse.jdt.internal.core.SourceMethod.getDefaultValue(SourceMethod.java:54)
	at org.eclipse.jdt.jeview.views.JavaElement.addMethodChildren(JavaElement.java:486)
	at org.eclipse.jdt.jeview.views.JavaElement.getChildren(JavaElement.java:166)
	at org.eclipse.jdt.jeview.views.JEViewContentProvider.hasChildren(JEViewContentProvider.java:33)
	at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2076)
	at org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer.java:576)
	at org.eclipse.ui.part.DrillDownAdapter.canExpand(DrillDownAdapter.java:107)
	at org.eclipse.ui.part.DrillDownAdapter.canGoInto(DrillDownAdapter.java:143)
	at org.eclipse.ui.part.DrillDownAdapter.updateNavigationButtons(DrillDownAdapter.java:341)
	at org.eclipse.jdt.jeview.views.JavaElementView$1.updateNavigationButtons(JavaElementView.java:227)
	at org.eclipse.ui.part.DrillDownAdapter.selectionChanged(DrillDownAdapter.java:331)
	at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:880)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160)
	at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2062)
	at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1138)
	at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1168)
	at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:227)
	at org.eclipse.jface.util.OpenStrategy.access$3(OpenStrategy.java:221)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:388)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:83)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3773)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3372)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2375)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2339)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2205)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:478)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:473)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
	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:362)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)
	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-04-08 13:24:21 EDT
Created attachment 95236 [details]
Proposed fix and regression test
Comment 2 Jerome Lanneluc CLA 2008-04-09 10:24:00 EDT
Fix and test released for 3.4M7
Comment 3 Maxime Daniel CLA 2008-04-29 05:22:04 EDT
Verified for 3.4 M7 using build I20080427-2000.