#include "JSGlobalObject.h"
#include "NumberPrototype.h"
+#include "JSCInlines.h"
namespace JSC {
-ASSERT_CLASS_FITS_IN_CELL(NumberObject);
+STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NumberObject);
-const ClassInfo NumberObject::info = { "Number", 0, 0, 0 };
+const ClassInfo NumberObject::s_info = { "Number", &JSWrapperObject::s_info, 0, 0, CREATE_METHOD_TABLE(NumberObject) };
-NumberObject::NumberObject(PassRefPtr<Structure> structure)
- : JSWrapperObject(structure)
+NumberObject::NumberObject(VM& vm, Structure* structure)
+ : JSWrapperObject(vm, structure)
{
}
-JSValue NumberObject::getJSNumber()
+void NumberObject::finishCreation(VM& vm)
{
- return internalValue();
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
}
-NumberObject* constructNumber(ExecState* exec, JSValue number)
+NumberObject* constructNumber(ExecState* exec, JSGlobalObject* globalObject, JSValue number)
{
- NumberObject* object = new (exec) NumberObject(exec->lexicalGlobalObject()->numberObjectStructure());
- object->setInternalValue(number);
+ NumberObject* object = NumberObject::create(exec->vm(), globalObject->numberObjectStructure());
+ object->setInternalValue(exec->vm(), number);
return object;
}