]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/RegExpMatchesArray.h
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / runtime / RegExpMatchesArray.h
index 9ae18b9e891492460c8b6491bf568e637c4c1bcd..669dd39ed52ab3de8e824b4cff4a48701bf94b10 100644 (file)
 #define RegExpMatchesArray_h
 
 #include "JSArray.h"
+#include "JSGlobalObject.h"
+#include "RegExpObject.h"
 
 namespace JSC {
 
-    class RegExpMatchesArray : public JSArray {
-    public:
-        RegExpMatchesArray(ExecState*, RegExpConstructorPrivate*);
-        virtual ~RegExpMatchesArray();
-
-    private:
-        virtual bool getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-        {
-            if (lazyCreationData())
-                fillArrayInstance(exec);
-            return JSArray::getOwnPropertySlot(exec, propertyName, slot);
-        }
-
-        virtual bool getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
-        {
-            if (lazyCreationData())
-                fillArrayInstance(exec);
-            return JSArray::getOwnPropertySlot(exec, propertyName, slot);
-        }
-
-        virtual void put(ExecState* exec, const Identifier& propertyName, JSValue v, PutPropertySlot& slot)
-        {
-            if (lazyCreationData())
-                fillArrayInstance(exec);
-            JSArray::put(exec, propertyName, v, slot);
-        }
-
-        virtual void put(ExecState* exec, unsigned propertyName, JSValue v)
-        {
-            if (lazyCreationData())
-                fillArrayInstance(exec);
-            JSArray::put(exec, propertyName, v);
-        }
-
-        virtual bool deleteProperty(ExecState* exec, const Identifier& propertyName)
-        {
-            if (lazyCreationData())
-                fillArrayInstance(exec);
-            return JSArray::deleteProperty(exec, propertyName);
-        }
-
-        virtual bool deleteProperty(ExecState* exec, unsigned propertyName)
-        {
-            if (lazyCreationData())
-                fillArrayInstance(exec);
-            return JSArray::deleteProperty(exec, propertyName);
-        }
-
-        virtual void getPropertyNames(ExecState* exec, PropertyNameArray& arr)
-        {
-            if (lazyCreationData())
-                fillArrayInstance(exec);
-            JSArray::getPropertyNames(exec, arr);
-        }
-
-        void fillArrayInstance(ExecState*);
-};
+JSArray* createRegExpMatchesArray(ExecState*, JSString*, RegExp*, MatchResult);
+Structure* createRegExpMatchesArrayStructure(VM&, JSGlobalObject&);
 
 }