This reflects a bit better how this special value is being used.
Change-Id: I136c8ab648bf82102fb2627e17c574a980c4d5ff
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
m_fileName, m_line, &m_v8qmlscope);
}
- if (m_v8function->isDeleted() || m_v8function->isNull()) {
+ if (m_v8function->isEmpty() || m_v8function->isNull()) {
ep->dereferenceScarceResources();
return; // could not evaluate function. Not valid.
}
void QQmlPropertyCache::destroy()
{
- Q_ASSERT(engine || constructor->isDeleted());
- if (constructor->isDeleted())
+ Q_ASSERT(engine || constructor->isEmpty());
+ if (constructor->isEmpty())
delete this;
else
QQmlEnginePrivate::deleteInEngineThread(engine, this);
QQmlPropertyData::Flag signalFlags)
{
Q_UNUSED(revision);
- Q_ASSERT(constructor->isDeleted()); // We should not be appending to an in-use property cache
+ Q_ASSERT(constructor->isEmpty()); // We should not be appending to an in-use property cache
_metaObject = metaObject;
if (!v8methods)
v8methods = new QV4::PersistentValue[metaData->methodCount];
- if (v8methods[index]->isDeleted()) {
+ if (v8methods[index]->isEmpty()) {
QQmlVMEMetaData::MethodData *data = metaData->methodData() + index;
const char *body = ((const char*)metaData) + data->bodyOffset;
{
switch (c->type) {
case V4IR::MissingType:
- return QV4::Value::deletedValue();
+ return QV4::Value::emptyValue();
case V4IR::NullType:
return QV4::Value::nullValue();
case V4IR::UndefinedType:
PersistentValuePrivate *persistent = m_persistentValues;
while (persistent) {
PersistentValuePrivate *n = persistent->next;
- persistent->value = Value::deletedValue();
+ persistent->value = Value::emptyValue();
persistent->prev = 0;
persistent->next = 0;
persistent = n;
arrayData = newArrayData;
if (sparseArray) {
for (uint i = arrayFreeList; i < arrayAlloc; ++i) {
- arrayData[i].value = Value::deletedValue();
+ arrayData[i].value = Value::emptyValue();
arrayData[i].value = Value::fromInt32(i + 1);
}
} else {
arrayAttributes[it->value].clear();
}
}
- pd.value.tag = Value::_Deleted_Type;
+ pd.value.tag = Value::_Empty_Type;
pd.value.int_32 = arrayFreeList;
arrayFreeList = it->value;
bool brk = (it == begin);
} else {
arrayAttributes[it - arrayData].clear();
}
- it->value = Value::deletedValue();
+ it->value = Value::emptyValue();
}
}
arrayDataLen = newLen;
}
void freeArrayValue(int idx) {
Property &pd = arrayData[idx];
- pd.value.tag = Value::_Deleted_Type;
+ pd.value.tag = Value::_Empty_Type;
pd.value.int_32 = arrayFreeList;
arrayFreeList = idx;
if (arrayAttributes)
}
if (attrs->isGeneric())
- desc->value = Value::deletedValue();
+ desc->value = Value::emptyValue();
}
static Property genericDescriptor() {
Property pd;
- pd.value = Value::deletedValue();
+ pd.value = Value::emptyValue();
return pd;
}
a->arrayDataLen = length;
Property *pd = a->arrayData;
for (uint i = 0; i < length; ++i) {
- if (values[i].isDeleted()) {
+ if (values[i].isEmpty()) {
a->ensureArrayAttributes();
pd->value = Value::undefinedValue();
a->arrayAttributes[i].clear();
enum ValueTypeInternal {
_Undefined_Type = Undefined_Type,
- _Deleted_Type = Deleted_Type,
+ _Empty_Type = Deleted_Type,
_Null_Type = Null_Type | ConvertibleToInt,
_Boolean_Type = Boolean_Type | ConvertibleToInt,
_Integer_Type = Integer_Type | ConvertibleToInt,
}
// used internally in property
- inline bool isDeleted() const { return tag == _Deleted_Type; }
+ inline bool isEmpty() const { return tag == _Empty_Type; }
inline bool isUndefined() const { return tag == _Undefined_Type; }
inline bool isNull() const { return tag == _Null_Type; }
return val;
}
- static Value deletedValue();
+ static Value emptyValue();
static Value undefinedValue();
static Value nullValue();
static Value fromBoolean(Bool b);
return v;
}
-inline Value Value::deletedValue()
+inline Value Value::emptyValue()
{
Value v;
- v.tag = Value::_Deleted_Type;
+ v.tag = Value::_Empty_Type;
v.uint_32 = 0;
return v;
}
struct PersistentValuePrivate
{
PersistentValuePrivate()
- : value(Value::deletedValue())
+ : value(Value::emptyValue())
, refcount(1)
, prev(0)
, next(0)
QJSValuePrivate(const QV4::Value &v)
: PersistentValuePrivate(v)
{
- if (value.isDeleted())
+ if (value.isEmpty())
value = QV4::Value::undefinedValue();
}
QJSValuePrivate(QV4::Object *o)
{
QV8Engine *engine = QQmlEnginePrivate::getV8Engine(context->engine);
- if (program->bindings->isDeleted()) {
+ if (program->bindings->isEmpty()) {
v8::Handle<v8::Script> script;
bool compileFailed = false;
{
QVariant QV8Engine::toVariant(const QV4::Value &value, int typeHint)
{
- if (value.isDeleted())
+ if (value.isEmpty())
return QVariant();
if (typeHint == QVariant::Bool)
QVariant QV8Engine::variantFromJS(const QV4::Value &value,
V8ObjectSet &visitedObjects)
{
- Q_ASSERT(!value.isDeleted());
+ Q_ASSERT(!value.isEmpty());
if (value.isUndefined())
return QVariant();
if (value.isNull())
Q_ASSERT(QQmlData::get(object, false)->propertyCache == this);
// Setup constructor
- if (constructor->isDeleted()) {
+ if (constructor->isEmpty()) {
v8::Handle<v8::FunctionTemplate> ft;
const QHashedString toString(QStringLiteral("toString"));