]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/DateInstance.cpp
JavaScriptCore-1097.13.tar.gz
[apple/javascriptcore.git] / runtime / DateInstance.cpp
index b43b183e27ea3974066e1e2d3fab74d16e84d55c..a502770c87508b72e4f2498dd9c76275ccb78feb 100644 (file)
 #include "config.h"
 #include "DateInstance.h"
 
+#include "JSDateMath.h"
 #include "JSGlobalObject.h"
 
 #include <math.h>
-#include <wtf/DateMath.h>
 #include <wtf/MathExtras.h>
 
 using namespace WTF;
 
 namespace JSC {
 
-const ClassInfo DateInstance::info = {"Date", 0, 0, 0};
+const ClassInfo DateInstance::s_info = {"Date", &JSWrapperObject::s_info, 0, 0, CREATE_METHOD_TABLE(DateInstance)};
 
-DateInstance::DateInstance(ExecState* exec, NonNullPassRefPtr<Structure> structure)
-    : JSWrapperObject(structure)
+DateInstance::DateInstance(ExecState* exec, Structure* structure)
+    : JSWrapperObject(exec->globalData(), structure)
 {
-    setInternalValue(jsNaN(exec));
 }
 
-DateInstance::DateInstance(ExecState* exec, NonNullPassRefPtr<Structure> structure, double time)
-    : JSWrapperObject(structure)
+void DateInstance::finishCreation(JSGlobalData& globalData)
 {
-    setInternalValue(jsNumber(exec, timeClip(time)));
+    Base::finishCreation(globalData);
+    ASSERT(inherits(&s_info));
+    setInternalValue(globalData, jsNaN());
 }
 
-DateInstance::DateInstance(ExecState* exec, double time)
-    : JSWrapperObject(exec->lexicalGlobalObject()->dateStructure())
+void DateInstance::finishCreation(JSGlobalData& globalData, double time)
 {
-    setInternalValue(jsNumber(exec, timeClip(time)));
+    Base::finishCreation(globalData);
+    ASSERT(inherits(&s_info));
+    setInternalValue(globalData, jsNumber(timeClip(time)));
+}
+
+void DateInstance::destroy(JSCell* cell)
+{
+    jsCast<DateInstance*>(cell)->DateInstance::~DateInstance();
 }
 
 const GregorianDateTime* DateInstance::calculateGregorianDateTime(ExecState* exec) const