if (d->value.isEmpty())
return d->unboundData;
- return QV4::VariantObject::toVariant(d->value);
+ if (d->value.asObject())
+ return QV8Engine::toVariant(d->value.engine(), d->value, /*typeHint*/ -1, /*createJSValueForObjects*/ false);
+
+ if (d->value.isString())
+ return QVariant(d->value.stringValue()->toQString());
+ if (d->value.isBoolean())
+ return QVariant(d->value.booleanValue());
+ if (d->value.isNumber()) {
+ if (d->value.isInt32())
+ return QVariant(d->value.integerValue());
+ return QVariant(d->value.asDouble());
+ }
+ if (d->value.isNull())
+ return QVariant(QMetaType::VoidStar, 0);
+ Q_ASSERT(d->value.isUndefined());
+ return QVariant();
}
/*!
engine->scarceResources.insert(this);
}
-QVariant VariantObject::toVariant(const QV4::ValueRef v)
-{
- if (v->asObject())
- return QV8Engine::toVariant(v->engine(), v, /*typeHint*/ -1, /*createJSValueForObjects*/ false);
-
- if (v->isString())
- return QVariant(v->stringValue()->toQString());
- if (v->isBoolean())
- return QVariant(v->booleanValue());
- if (v->isNumber()) {
- QV4::Value val;
- val = v;
- if (val.isInt32())
- return QVariant(val.integerValue());
- return QVariant(v->asDouble());
- }
- if (v->isNull())
- return QVariant(QMetaType::VoidStar, 0);
- Q_ASSERT(v->isUndefined());
- return QVariant();
-}
-
bool VariantObject::Data::isScarce() const
{
QVariant::Type t = data.type();
V4_OBJECT2(VariantObject, Object)
V4_NEEDS_DESTROY
- static QVariant toVariant(const ValueRef v);
-
void addVmePropertyReference();
void removeVmePropertyReference();