Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 193105

Summary: ClassCastException in selection
Product: [Technology] DLTK Reporter: Andrei Sobolev <andrei.sobolev>
Component: RubyAssignee: Mikhail Kalugin <mikhail.kalugin>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P1    
Version: 0.9   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Andrei Sobolev CLA 2007-06-18 09:40:36 EDT
In file rubytypes.rb

In code:
###
class Exception
    yaml_as "tag:ruby.yaml.org,2002:exception"
    def Exception.yaml_new( klass, tag, val )
        o = YAML.object_maker( klass, { 'mesg' => val.delete( 'message' ) } )
        val.each_pair do |k,v|
            o.instance_variable_set("@#{k}", v)
###
Then you hover instance_variable_set method call exception are trown.

#Log
java.lang.ClassCastException: org.eclipse.dltk.ruby.typeinference.MethodContext cannot be cast to org.eclipse.dltk.ti.BasicContext
	at org.eclipse.dltk.ruby.typeinference.RubyEvaluatorFactory.translateGoal(RubyEvaluatorFactory.java:198)
	at org.eclipse.dltk.ruby.typeinference.evaluators.ColonExpressionEvaluator.getTypedGoal(ColonExpressionEvaluator.java:44)
	at org.eclipse.dltk.ruby.typeinference.evaluators.ColonExpressionEvaluator.init(ColonExpressionEvaluator.java:53)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:219)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ruby.typeinference.RubyTypeInferencer.evaluateType(RubyTypeInferencer.java:54)
	at org.eclipse.dltk.ti.DLTKTypeInferenceEngine.evaluateType(DLTKTypeInferenceEngine.java:80)
	at org.eclipse.dltk.ruby.internal.core.codeassist.RubySelectionEngine.selectOnMethod(RubySelectionEngine.java:493)
	at org.eclipse.dltk.ruby.internal.core.codeassist.RubySelectionEngine.select(RubySelectionEngine.java:177)
	at org.eclipse.dltk.internal.core.Openable.codeSelect(Openable.java:562)
	at org.eclipse.dltk.internal.core.ExternalSourceModule.codeSelect(ExternalSourceModule.java:598)
	at org.eclipse.dltk.internal.core.ExternalSourceModule.codeSelect(ExternalSourceModule.java:594)
	at org.eclipse.dltk.internal.ui.editor.ModelElementHyperlinkDetector.detectHyperlinks(ModelElementHyperlinkDetector.java:70)
	at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:253)
	at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:438)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:198)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3673)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
	at org.eclipse.jface.window.Window.open(Window.java:796)
	at org.eclipse.pde.internal.runtime.logview.EventDetailsDialog.open(EventDetailsDialog.java:184)
	at org.eclipse.pde.internal.runtime.logview.EventDetailsDialogAction.run(EventDetailsDialogAction.java:91)
	at org.eclipse.pde.internal.runtime.logview.LogView$12.doubleClick(LogView.java:394)
	at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:799)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:850)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:193)
	at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:797)
	at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1369)
	at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1173)
	at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:237)
	at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:234)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:295)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3673)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
	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:153)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
	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:497)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:436)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1162)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1137)
Comment 1 Mikhail Kalugin CLA 2007-06-21 07:46:58 EDT
Fixed.
Comment 2 Andrey Platov CLA 2008-05-26 02:42:39 EDT
bulk change: this bug was fixed in DLTK 0.9