Cleanup: Get rid of String and Object pointers in Value
Change-Id: I4f007d0437c9a5cc79fe35d960d40557366d46fe Reviewed-by: Lars Knoll <lars.knoll@digia.com>
This commit is contained in:
parent
62fa701eeb
commit
8daace55a2
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue