diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2012-05-14 16:03:10 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2012-05-14 16:03:10 +0200 |
commit | 3a7f8a31ed85b2643f2491ed600f29c3e61e2c78 (patch) | |
tree | b39beaeec64cd8a1c8d0b2f99c9a876c9761b266 /qv4ecmaobjects_p.h | |
parent | c996f53bedd685571ae4d414c3677678e7263faf (diff) |
Initial work on the String object.
Diffstat (limited to 'qv4ecmaobjects_p.h')
-rw-r--r-- | qv4ecmaobjects_p.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/qv4ecmaobjects_p.h b/qv4ecmaobjects_p.h new file mode 100644 index 0000000000..1b5d6309dc --- /dev/null +++ b/qv4ecmaobjects_p.h @@ -0,0 +1,62 @@ +#ifndef QV4ECMAOBJECTS_P_H +#define QV4ECMAOBJECTS_P_H + +#include "qmljs_objects.h" + +namespace QQmlJS { +namespace VM { + +struct ObjectCtor: FunctionObject +{ + ObjectCtor(Context *scope); + + virtual void construct(Context *ctx); + virtual void call(Context *); +}; + +struct ObjectPrototype: Object +{ + ObjectPrototype(Context *ctx, FunctionObject *ctor); +}; + +struct StringCtor: FunctionObject +{ + StringCtor(Context *scope); + + virtual void construct(Context *ctx); + virtual void call(Context *ctx); +}; + +struct StringPrototype: Object +{ + StringPrototype(Context *ctx, FunctionObject *ctor); + +protected: + static QString getThisString(Context *ctx); + + static void method_toString(Context *ctx); + static void method_valueOf(Context *ctx); + static void method_charAt(Context *ctx); + static void method_charCodeAt(Context *ctx); + static void method_concat(Context *ctx); + static void method_indexOf(Context *ctx); + static void method_lastIndexOf(Context *ctx); + static void method_localeCompare(Context *ctx); + static void method_match(Context *ctx); + static void method_replace(Context *ctx); + static void method_search(Context *ctx); + static void method_slice(Context *ctx); + static void method_split(Context *ctx); + static void method_substr(Context *ctx); + static void method_substring(Context *ctx); + static void method_toLowerCase(Context *ctx); + static void method_toLocaleLowerCase(Context *ctx); + static void method_toUpperCase(Context *ctx); + static void method_toLocaleUpperCase(Context *ctx); + static void method_fromCharCode(Context *ctx); +}; + +} // end of namespace VM +} // end of namespace QQmlJS + +#endif // QV4ECMAOBJECTS_P_H |