]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/StrictEvalActivation.h
JavaScriptCore-1097.13.tar.gz
[apple/javascriptcore.git] / runtime / StrictEvalActivation.h
index e2885cc0c65685a9b83da42701986a69547c44d4..a7b6d3e96458a498b293852f4440e3a1c5822578 100644 (file)
@@ -32,10 +32,30 @@ namespace JSC {
 
 class StrictEvalActivation : public JSNonFinalObject {
 public:
+    typedef JSNonFinalObject Base;
+
+    static StrictEvalActivation* create(ExecState* exec)
+    {
+        StrictEvalActivation* activation = new (NotNull, allocateCell<StrictEvalActivation>(*exec->heap())) StrictEvalActivation(exec);
+        activation->finishCreation(exec->globalData());
+        return activation;
+    }
+
+    static bool deleteProperty(JSCell*, ExecState*, const Identifier&);
+    static JSObject* toThisObject(JSCell*, ExecState*);
+
+    static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
+    {
+        return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
+    }
+    
+    static const ClassInfo s_info;
+
+protected:
+    static const unsigned StructureFlags = IsEnvironmentRecord | JSNonFinalObject::StructureFlags;
+
+private:
     StrictEvalActivation(ExecState*);
-    virtual bool deleteProperty(ExecState*, const Identifier&);
-    virtual JSObject* toThisObject(ExecState*) const;
-    virtual JSValue toStrictThisObject(ExecState*) const;
 };
 
 } // namespace JSC