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