aboutsummaryrefslogtreecommitdiffstats
path: root/qv4ecmaobjects_p.h
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2012-05-20 19:59:47 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2012-05-21 09:52:55 +0200
commit945c988b4526c2363d80f530770d1595062518a2 (patch)
treef92ca48c811b7dd6477cd98ef2decdd0955a2d4c /qv4ecmaobjects_p.h
parente8bd50dd950f9f7a4bfb892cae0e12934419aca3 (diff)
Initial support for Array objects.
Diffstat (limited to 'qv4ecmaobjects_p.h')
-rw-r--r--qv4ecmaobjects_p.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/qv4ecmaobjects_p.h b/qv4ecmaobjects_p.h
index abcf390dfb..cb6339e1fb 100644
--- a/qv4ecmaobjects_p.h
+++ b/qv4ecmaobjects_p.h
@@ -19,6 +19,9 @@ struct ObjectCtor: FunctionObject
struct ObjectPrototype: Object
{
ObjectPrototype(Context *ctx, FunctionObject *ctor);
+
+protected:
+ static void method_toString(Context *ctx);
};
struct StringCtor: FunctionObject
@@ -102,6 +105,35 @@ protected:
static void method_valueOf(Context *ctx);
};
+struct ArrayCtor: FunctionObject
+{
+ static Value create(ExecutionEngine *engine);
+
+ ArrayCtor(Context *scope);
+
+ virtual void construct(Context *ctx);
+ virtual void call(Context *ctx);
+};
+
+struct ArrayPrototype: Object
+{
+ ArrayPrototype(Context *ctx, FunctionObject *ctor);
+
+protected:
+ static void method_toString(Context *ctx);
+ static void method_toLocaleString(Context *ctx);
+ static void method_concat(Context *ctx);
+ static void method_join(Context *ctx);
+ static void method_pop(Context *ctx);
+ static void method_push(Context *ctx);
+ static void method_reverse(Context *ctx);
+ static void method_shift(Context *ctx);
+ static void method_slice(Context *ctx);
+ static void method_sort(Context *ctx);
+ static void method_splice(Context *ctx);
+ static void method_unshift(Context *ctx);
+};
+
struct DateCtor: FunctionObject
{
static Value create(ExecutionEngine *engine);