friend class QQmlPropertyPrivate;
friend class QQmlVME;
friend class QtSharedPointer::ExternalRefCount<QQmlAbstractBinding>;
- friend class QV8QObjectWrapper;
friend class QV4Bindings;
typedef QSharedPointer<QQmlAbstractBinding> SharedPointer;
void QQmlPropertyCache::destroy()
{
- Q_ASSERT(engine || constructor.isEmpty());
- if (constructor.isEmpty())
- delete this;
- else
- QQmlEnginePrivate::deleteInEngineThread(engine, this);
+ Q_ASSERT(engine);
+ delete this;
}
// This is inherited from QQmlCleanup, so it should only clear the things
cache->_metaObject = _metaObject;
cache->_defaultPropertyName = _defaultPropertyName;
- // We specifically do *NOT* copy the constructor
-
return cache;
}
return _parent;
}
-void QQmlPropertyCache::setParent(QQmlPropertyCache *newParent)
-{
- _parent = newParent;
-}
-
// Returns the first C++ type's QMetaObject - that is, the first QMetaObject not created by
// QML
const QMetaObject *QQmlPropertyCache::firstCppMetaObject() const
QQmlPropertyData::Flag signalFlags)
{
Q_UNUSED(revision);
- Q_ASSERT(constructor.isEmpty()); // We should not be appending to an in-use property cache
_metaObject = metaObject;
class QV8Engine;
class QMetaProperty;
-class QV8QObjectWrapper;
class QQmlEngine;
class QQmlPropertyData;
class QQmlAccessors;
QString defaultPropertyName() const;
QQmlPropertyData *defaultProperty() const;
QQmlPropertyCache *parent() const;
- void setParent(QQmlPropertyCache *newParent);
inline QQmlPropertyData *overrideData(QQmlPropertyData *) const;
inline bool isAllowedInRevision(QQmlPropertyData *) const;
private:
friend class QQmlEnginePrivate;
- friend class QV8QObjectWrapper;
friend class QQmlCompiler;
inline QQmlPropertyCache *copy(int reserve);
IndexCache signalHandlerIndexCache;
StringCache stringCache;
AllowedRevisionCache allowedRevisionCache;
- QV4::PersistentValue constructor;
bool _hasPropertyOverrides : 1;
bool _ownMetaObject : 1;
int m_index : 31;
};
-class QV8QObjectWrapper;
class QQmlVMEVariant;
class QQmlRefCount;
class QQmlVMEMetaObjectEndpoint;
QQmlVMEVariantQObjectPtr *getQObjectGuardForProperty(int) const;
friend class QV8GCCallback;
- friend class QV8QObjectWrapper;
};
QQmlVMEMetaObject *QQmlVMEMetaObject::get(QObject *obj)
void setReturnValue(const QV4::Value &rv) { *retVal = rv; }
QV8Engine *engine() const { return e; }
private:
- friend class QV8QObjectWrapper;
friend struct QV4::QObjectMethod;
QQmlV4Function();
QQmlV4Function(const QQmlV4Function &);