diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-07-23 12:37:17 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-11-04 06:03:28 +0100 |
commit | 8daace55a2c43ec354e5d778a42f9c421f9f9232 (patch) | |
tree | 761cefe2a8c69e250f657c47ea7426ad71df847d /src/qml | |
parent | 62fa701eeb2c62062b635f02421fb6a34de06982 (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.cpp | 12 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4runtime.cpp | 4 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4value_p.h | 10 |
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; |