aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4regexpobject_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-05-08 22:27:23 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-07-22 13:49:17 +0200
commit45f7120d42f628e86ae2bf3bd2789fdb190490e0 (patch)
tree5a90ec2c80f46d20124cf4adac14704777301f46 /src/qml/jsruntime/qv4regexpobject_p.h
parent4632c0bfff911fa84f00aab9721519427cfa9921 (diff)
Convert regexps
Change-Id: I5b62a265a7ce363a16b1e14ae93cadbb1ab0cb5b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4regexpobject_p.h')
-rw-r--r--src/qml/jsruntime/qv4regexpobject_p.h24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/qml/jsruntime/qv4regexpobject_p.h b/src/qml/jsruntime/qv4regexpobject_p.h
index f6d2f66f6a..90ff8caf7d 100644
--- a/src/qml/jsruntime/qv4regexpobject_p.h
+++ b/src/qml/jsruntime/qv4regexpobject_p.h
@@ -63,15 +63,17 @@ QT_BEGIN_NAMESPACE
namespace QV4 {
-class RegExp;
-
struct RegExpObject: Object {
struct Data : Object::Data {
- RegExp* value;
+ Data(ExecutionEngine *engine, RegExp *value, bool global);
+ Data(ExecutionEngine *engine, const QRegExp &re);
+ Data(InternalClass *ic);
+
+ RegExp *value;
bool global;
};
struct {
- RegExp* value;
+ RegExp *value;
bool global;
} __data;
@@ -93,9 +95,6 @@ struct RegExpObject: Object {
RegExp *value() const { return d()->value; }
bool global() const { return d()->global; }
- RegExpObject(ExecutionEngine *engine, RegExp *value, bool global);
- RegExpObject(ExecutionEngine *engine, const QRegExp &re);
-
void init(ExecutionEngine *engine);
Property *lastIndexProperty(ExecutionContext *ctx);
@@ -105,7 +104,6 @@ struct RegExpObject: Object {
uint flags() const;
protected:
- RegExpObject(InternalClass *ic);
static void markObjects(Managed *that, ExecutionEngine *e);
};
@@ -140,7 +138,15 @@ struct RegExpCtor: FunctionObject
struct RegExpPrototype: RegExpObject
{
- RegExpPrototype(InternalClass *ic): RegExpObject(ic) {}
+ struct Data : RegExpObject::Data
+ {
+ Data(InternalClass *ic): RegExpObject::Data(ic)
+ {
+ setVTable(staticVTable());
+ }
+ };
+ V4_OBJECT
+
void init(ExecutionEngine *engine, Object *ctor);
static ReturnedValue method_exec(CallContext *ctx);