the prototype given in the Object.create(SomeObject.prototype) should really be a copy Else overrrides on the sup object will change the original Problem is that changing the supers prototype after the sub created a copy is not seen anymore.
diff --git a/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/ti/TypeInferencerVisitor.java b/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/ti/TypeInferencerVisitor.java index f31370e..d7a785e 100644 --- a/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/ti/TypeInferencerVisitor.java +++ b/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/ti/TypeInferencerVisitor.java
@@ -596,7 +596,8 @@ && RTypes.OBJECT.getDeclaration().equals( method.getDeclaringType()) && arguments.length > 0) { AnonymousValue value = new AnonymousValue(); - value.addValue(arguments[0], false); + value.getValue().addValue( + ((IValueProvider) arguments[0]).getValue()); if (arguments.length == 2) { JSTypeSet types = arguments[1].getTypes(); for (IRType type : types) {