+2007-04-23 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin.
+
+ - fix more test case failures
+
+ * bindings/runtime_array.cpp:
+ (RuntimeArray::RuntimeArray): inherit from JSObject instead of ArrayInstance; it turns
+ out that this class only needs the prototype and classInfo from ArrayInstance, not the
+ actual class itself, and it was too big otherwise.
+ (RuntimeArray::getOwnPropertySlot):
+ * bindings/runtime_array.h:
+
2007-04-23 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
const ClassInfo RuntimeArray::info = {"RuntimeArray", &ArrayInstance::info, 0, 0};
RuntimeArray::RuntimeArray(ExecState *exec, Bindings::Array *a)
- : ArrayInstance(exec->lexicalInterpreter()->builtinArrayPrototype(), a->getLength())
+ : JSObject(exec->lexicalInterpreter()->builtinArrayPrototype())
{
// Always takes ownership of concrete array.
_array = a;
}
}
- return ArrayInstance::getOwnPropertySlot(exec, propertyName, slot);
+ return JSObject::getOwnPropertySlot(exec, propertyName, slot);
}
bool RuntimeArray::getOwnPropertySlot(ExecState *exec, unsigned index, PropertySlot& slot)
return true;
}
- return ArrayInstance::getOwnPropertySlot(exec, index, slot);
+ return JSObject::getOwnPropertySlot(exec, index, slot);
}
void RuntimeArray::put(ExecState* exec, const Identifier& propertyName, JSValue* value, int attr)