aboutsummaryrefslogtreecommitdiffstats
path: root/qv4ecmaobjects_p.h
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2012-05-14 16:03:10 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2012-05-14 16:03:10 +0200
commit3a7f8a31ed85b2643f2491ed600f29c3e61e2c78 (patch)
treeb39beaeec64cd8a1c8d0b2f99c9a876c9761b266 /qv4ecmaobjects_p.h
parentc996f53bedd685571ae4d414c3677678e7263faf (diff)
Initial work on the String object.
Diffstat (limited to 'qv4ecmaobjects_p.h')
-rw-r--r--qv4ecmaobjects_p.h62
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