JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / runtime / StrictEvalActivation.cpp
index e666dee15792b7fbe897e60d2c503d623b76fd83..4260e10b9f021b49b1c4cda2849a6d1b906f63b1 100644 (file)
 #include "config.h"
 #include "StrictEvalActivation.h"
 
+#include "JSGlobalObject.h"
+#include "JSCInlines.h"
+
 namespace JSC {
 
-StrictEvalActivation::StrictEvalActivation(ExecState* exec)
-    : JSNonFinalObject(exec->globalData(), exec->globalData().strictEvalActivationStructure.get())
+STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(StrictEvalActivation);
+
+const ClassInfo StrictEvalActivation::s_info = { "Object", &Base::s_info, 0, CREATE_METHOD_TABLE(StrictEvalActivation) };
+
+StrictEvalActivation::StrictEvalActivation(ExecState* exec, JSScope* currentScope)
+    : Base(
+        exec->vm(),
+        exec->lexicalGlobalObject()->strictEvalActivationStructure(),
+        currentScope
+    )
 {
 }
 
-bool StrictEvalActivation::deleteProperty(ExecState*, const Identifier&)
+bool StrictEvalActivation::deleteProperty(JSCell*, ExecState*, PropertyName)
 {
     return false;
 }
 
-JSObject* StrictEvalActivation::toThisObject(ExecState* exec) const
+JSValue StrictEvalActivation::toThis(JSCell*, ExecState* exec, ECMAMode ecmaMode)
 {
+    if (ecmaMode == StrictMode)
+        return jsUndefined();
     return exec->globalThisValue();
 }
 
-JSValue StrictEvalActivation::toStrictThisObject(ExecState*) const
-{
-    return jsNull();
-}
-
 }