test if the parent is a real openable by getting the buffer, if it isn't return null
else return it.
Is there a better way.. Maybe the parent should not be a ISourceModule but more a INoneScriptModule or something like that.
diff --git a/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/typeinference/FakeField.java b/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/typeinference/FakeField.java
index 1ef0ea1..03104f7 100644
--- a/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/typeinference/FakeField.java
+++ b/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/typeinference/FakeField.java
@@ -12,6 +12,7 @@
*/
package org.eclipse.dltk.internal.javascript.typeinference;
+import org.eclipse.dltk.core.IOpenable;
import org.eclipse.dltk.core.ISourceRange;
import org.eclipse.dltk.core.ModelException;
import org.eclipse.dltk.internal.core.ModelElement;
@@ -67,4 +68,20 @@
public String getProposalInfo() {
return proposalInfo;
}
+
+ /**
+ * @see org.eclipse.dltk.internal.core.SourceRefElement#getOpenableParent()
+ */
+ public IOpenable getOpenableParent() {
+
+ IOpenable openableParent = super.getOpenableParent();
+ try {
+ // test if a buffer can be made, if not then just return null.
+ // Is there a better way? (if it is not a script file)
+ openableParent.getBuffer();
+ } catch (Exception e) {
+ return null;
+ }
+ return openableParent;
+ }
}
\ No newline at end of file