diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2012-05-20 19:59:47 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2012-05-21 09:52:55 +0200 |
commit | 945c988b4526c2363d80f530770d1595062518a2 (patch) | |
tree | f92ca48c811b7dd6477cd98ef2decdd0955a2d4c /qv4ecmaobjects_p.h | |
parent | e8bd50dd950f9f7a4bfb892cae0e12934419aca3 (diff) |
Initial support for Array objects.
Diffstat (limited to 'qv4ecmaobjects_p.h')
-rw-r--r-- | qv4ecmaobjects_p.h | 32 |
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); |