]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/NumberObject.h
JavaScriptCore-1097.13.tar.gz
[apple/javascriptcore.git] / runtime / NumberObject.h
index d354b9b8a2a8609ed7283c9b7ff1016d23bbe1fc..07334722b936fd9ab5242018fe36cf5f650ea68f 100644 (file)
 namespace JSC {
 
     class NumberObject : public JSWrapperObject {
+    protected:
+        NumberObject(JSGlobalData&, Structure*);
+        void finishCreation(JSGlobalData&);
+
     public:
-        explicit NumberObject(PassRefPtr<Structure>);
+        typedef JSWrapperObject Base;
 
-        static const ClassInfo info;
+        static NumberObject* create(JSGlobalData& globalData, Structure* structure)
+        {
+            NumberObject* number = new (NotNull, allocateCell<NumberObject>(globalData.heap)) NumberObject(globalData, structure);
+            number->finishCreation(globalData);
+            return number;
+        }
 
-    private:
-        virtual const ClassInfo* classInfo() const { return &info; }
+        static const ClassInfo s_info;
 
-        virtual JSValue getJSNumber();
+        static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
+        {
+            return Structure::create(globalData, globalObject, prototype, TypeInfo(NumberObjectType, StructureFlags), &s_info);
+        }
     };
 
-    NumberObject* constructNumber(ExecState*, JSValue);
+    NumberObject* constructNumber(ExecState*, JSGlobalObject*, JSValue);
 
 } // namespace JSC