* merge with HEAD
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinBuildVisitor.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinBuildVisitor.java
index 175e8ad..503d476 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinBuildVisitor.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinBuildVisitor.java
@@ -360,7 +360,11 @@
String name = decl.getName();
if (moduleAvailable) {
IModelElement element = findModelElementFor(decl);
- obj = (IMethod) element;
+ if (element instanceof IMethod) {
+ obj = (IMethod) element;
+ } else {
+ return false;
+ }
}
if (decl instanceof RubySingletonMethodDeclaration) {
RubySingletonMethodDeclaration singl = (RubySingletonMethodDeclaration) decl;
@@ -549,7 +553,8 @@
String key = scope.reportVariable(ref.getName(), null);
if (key != null) {
key += VIRTUAL_SUFFIX;
- report(key, new RubyMixinElementInfo(RubyMixinElementInfo.K_VIRTUAL, obj));
+ report(key, new RubyMixinElementInfo(
+ RubyMixinElementInfo.K_VIRTUAL, obj));
scopes.push(new MetaClassScope(decl, key));
return true;
}