aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-07-23 12:37:17 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-11-04 06:03:28 +0100
commit8daace55a2c43ec354e5d778a42f9c421f9f9232 (patch)
tree761cefe2a8c69e250f657c47ea7426ad71df847d /src/qml
parent62fa701eeb2c62062b635f02421fb6a34de06982 (diff)
Cleanup: Get rid of String and Object pointers in Value
Change-Id: I4f007d0437c9a5cc79fe35d960d40557366d46fe Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml')
-rw-r--r--src/qml/jsruntime/qv4objectiterator.cpp12
-rw-r--r--src/qml/jsruntime/qv4runtime.cpp4
-rw-r--r--src/qml/jsruntime/qv4value_p.h10
3 files changed, 12 insertions, 14 deletions
diff --git a/src/qml/jsruntime/qv4objectiterator.cpp b/src/qml/jsruntime/qv4objectiterator.cpp
index f9038472df..f9ccb8f829 100644
--- a/src/qml/jsruntime/qv4objectiterator.cpp
+++ b/src/qml/jsruntime/qv4objectiterator.cpp
@@ -68,15 +68,15 @@ ObjectIterator::ObjectIterator(Value *scratch1, Value *scratch2, uint flags)
, memberIndex(0)
, flags(flags)
{
- object->o = (Object*)0;
- current->o = (Object*)0;
+ object->m = (Object*)0;
+ current->m = (Object*)0;
// Caller needs to call init!
}
void ObjectIterator::init(Object *o)
{
- object->o = o;
- current->o = o;
+ object->m = o;
+ current->m = o;
#if QT_POINTER_SIZE == 4
object->tag = QV4::Value::Managed_Type;
@@ -126,9 +126,9 @@ void ObjectIterator::next(String *&name, uint *index, Property *pd, PropertyAttr
}
if (flags & WithProtoChain)
- current->o = current->objectValue()->prototype();
+ current->m = current->objectValue()->prototype();
else
- current->o = (Object *)0;
+ current->m = (Object *)0;
arrayIndex = 0;
memberIndex = 0;
diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp
index f72f25bd58..cb7e219354 100644
--- a/src/qml/jsruntime/qv4runtime.cpp
+++ b/src/qml/jsruntime/qv4runtime.cpp
@@ -881,7 +881,9 @@ ReturnedValue Runtime::callActivationProperty(ExecutionContext *context, String
Scope scope(context);
ScopedObject base(scope);
- ScopedValue func(scope, context->getPropertyAndBase(name, base.ptr->o));
+ Object *baseObj = base.ptr->objectValue();
+ ScopedValue func(scope, context->getPropertyAndBase(name, baseObj));
+ base.ptr->m = baseObj;
if (scope.engine->hasException)
return Encode::undefined();
diff --git a/src/qml/jsruntime/qv4value_p.h b/src/qml/jsruntime/qv4value_p.h
index 59a4543538..f215162c2f 100644
--- a/src/qml/jsruntime/qv4value_p.h
+++ b/src/qml/jsruntime/qv4value_p.h
@@ -87,8 +87,6 @@ struct Q_QML_PRIVATE_EXPORT Value
quint64 val;
#if QT_POINTER_SIZE == 8
Managed *m;
- Object *o;
- String *s;
#else
double dbl;
#endif
@@ -101,8 +99,6 @@ struct Q_QML_PRIVATE_EXPORT Value
int int_32;
#if QT_POINTER_SIZE == 4
Managed *m;
- Object *o;
- String *s;
#endif
};
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
@@ -270,10 +266,10 @@ struct Q_QML_PRIVATE_EXPORT Value
}
String *stringValue() const {
- return s;
+ return reinterpret_cast<String*>(m);
}
Object *objectValue() const {
- return o;
+ return reinterpret_cast<Object*>(m);
}
Managed *managed() const {
return m;
@@ -283,7 +279,7 @@ struct Q_QML_PRIVATE_EXPORT Value
return val;
}
- static inline Value fromManaged(Managed *o);
+ static inline Value fromManaged(Managed *m);
int toUInt16() const;
inline int toInt32() const;