diff options
Diffstat (limited to 'Source/JavaScriptCore/runtime/MathObject.h')
-rw-r--r-- | Source/JavaScriptCore/runtime/MathObject.h | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/Source/JavaScriptCore/runtime/MathObject.h b/Source/JavaScriptCore/runtime/MathObject.h index 190614b84..9d1c181c0 100644 --- a/Source/JavaScriptCore/runtime/MathObject.h +++ b/Source/JavaScriptCore/runtime/MathObject.h @@ -25,33 +25,34 @@ namespace JSC { - class MathObject : public JSNonFinalObject { - private: - MathObject(JSGlobalObject*, Structure*); - - public: - typedef JSNonFinalObject Base; - - static MathObject* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure) - { - MathObject* object = new (NotNull, allocateCell<MathObject>(*exec->heap())) MathObject(globalObject, structure); - object->finishCreation(exec, globalObject); - return object; - } - static bool getOwnPropertySlot(JSCell*, ExecState*, PropertyName, PropertySlot&); - static bool getOwnPropertyDescriptor(JSObject*, ExecState*, PropertyName, PropertyDescriptor&); - - static const ClassInfo s_info; - - static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype) - { - return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); - } - - protected: - void finishCreation(ExecState*, JSGlobalObject*); - static const unsigned StructureFlags = OverridesGetOwnPropertySlot | JSObject::StructureFlags; - }; +class MathObject : public JSNonFinalObject { +private: + MathObject(VM&, Structure*); + +public: + typedef JSNonFinalObject Base; + static const unsigned StructureFlags = Base::StructureFlags | OverridesGetOwnPropertySlot; + + static MathObject* create(VM& vm, JSGlobalObject* globalObject, Structure* structure) + { + MathObject* object = new (NotNull, allocateCell<MathObject>(vm.heap)) MathObject(vm, structure); + object->finishCreation(vm, globalObject); + return object; + } + + DECLARE_INFO; + + static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype) + { + return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info()); + } + +protected: + void finishCreation(VM&, JSGlobalObject*); +}; + +EncodedJSValue JSC_HOST_CALL mathProtoFuncAbs(ExecState*); +EncodedJSValue JSC_HOST_CALL mathProtoFuncFloor(ExecState*); } // namespace JSC |