]> 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 eaef9397b34e3046bc0145f4932b8cc9ddaed244..4260e10b9f021b49b1c4cda2849a6d1b906f63b1 100644 (file)
 #include "StrictEvalActivation.h"
 
 #include "JSGlobalObject.h"
 #include "StrictEvalActivation.h"
 
 #include "JSGlobalObject.h"
-#include "Operations.h"
+#include "JSCInlines.h"
 
 namespace JSC {
 
 
 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)
+StrictEvalActivation::StrictEvalActivation(ExecState* exec, JSScope* currentScope)
     : Base(
         exec->vm(),
         exec->lexicalGlobalObject()->strictEvalActivationStructure(),
     : Base(
         exec->vm(),
         exec->lexicalGlobalObject()->strictEvalActivationStructure(),
-        exec->scope()
+        currentScope
     )
 {
 }
     )
 {
 }
@@ -49,8 +49,10 @@ bool StrictEvalActivation::deleteProperty(JSCell*, ExecState*, PropertyName)
     return false;
 }
 
     return false;
 }
 
-JSObject* StrictEvalActivation::toThisObject(JSCell*, ExecState* exec)
+JSValue StrictEvalActivation::toThis(JSCell*, ExecState* exec, ECMAMode ecmaMode)
 {
 {
+    if (ecmaMode == StrictMode)
+        return jsUndefined();
     return exec->globalThisValue();
 }
 
     return exec->globalThisValue();
 }