Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <qqmlpropertycachecreator_p.h>
Public Types | |
enum class | VMEMetaObjectIsRequired { Maybe , Always } |
using | CompiledObject = typename ObjectContainer::CompiledObject |
using | InlineComponent = typename std::remove_reference<decltype (*(std::declval<CompiledObject>().inlineComponentsBegin()))>::type |
Public Member Functions | |
QQmlPropertyCacheCreator (QQmlPropertyCacheVector *propertyCaches, QQmlPendingGroupPropertyBindings *pendingGroupPropertyBindings, QQmlEnginePrivate *enginePrivate, const ObjectContainer *objectContainer, const QQmlImports *imports, const QByteArray &typeClassName) | |
~QQmlPropertyCacheCreator () | |
IncrementalResult | buildMetaObjectsIncrementally () |
QQmlError | verifyNoICCycle () |
Protected Member Functions | |
QQmlError | buildMetaObjectRecursively (int objectIndex, const QQmlBindingInstantiationContext &context, VMEMetaObjectIsRequired isVMERequired) |
QQmlPropertyCache::ConstPtr | propertyCacheForObject (const CompiledObject *obj, const QQmlBindingInstantiationContext &context, QQmlError *error) const |
QQmlError | createMetaObject (int objectIndex, const CompiledObject *obj, const QQmlPropertyCache::ConstPtr &baseTypeCache) |
QMetaType | metaTypeForParameter (const QV4::CompiledData::ParameterType ¶m, QString *customTypeName=nullptr) |
QString | stringAt (int index) const |
Protected Attributes | |
QQmlEnginePrivate *const | enginePrivate |
const ObjectContainer *const | objectContainer |
const QQmlImports *const | imports |
QQmlPropertyCacheVector * | propertyCaches |
QQmlPendingGroupPropertyBindings * | pendingGroupPropertyBindings |
QByteArray | typeClassName |
unsigned int | currentRoot |
QQmlBindingInstantiationContext | m_context |
std::vector< InlineComponent > | allICs |
std::vector< icutils::Node > | nodesSorted |
std::vector< icutils::Node >::reverse_iterator | nodeIt = nodesSorted.rbegin() |
bool | hasCycle = false |
Additional Inherited Members | |
Static Public Member Functions inherited from QQmlPropertyCacheCreatorBase | |
static QMetaType | metaTypeForPropertyType (QV4::CompiledData::CommonType type) |
static QMetaType | listTypeForPropertyType (QV4::CompiledData::CommonType type) |
static bool | canCreateClassNameTypeByUrl (const QUrl &url) |
static QByteArray | createClassNameTypeByUrl (const QUrl &url) |
static QByteArray | createClassNameForInlineComponent (const QUrl &baseUrl, const QString &name) |
Static Public Attributes inherited from QQmlPropertyCacheCreatorBase | |
static QAtomicInt Q_AUTOTEST_EXPORT | classIndexCounter |
Definition at line 143 of file qqmlpropertycachecreator_p.h.
using QQmlPropertyCacheCreator< ObjectContainer >::CompiledObject = typename ObjectContainer::CompiledObject |
Definition at line 146 of file qqmlpropertycachecreator_p.h.
using QQmlPropertyCacheCreator< ObjectContainer >::InlineComponent = typename std::remove_reference<decltype (*(std::declval<CompiledObject>().inlineComponentsBegin()))>::type |
Definition at line 147 of file qqmlpropertycachecreator_p.h.
|
strong |
Enumerator | |
---|---|
Maybe | |
Always |
Definition at line 174 of file qqmlpropertycachecreator_p.h.
|
inline |
Definition at line 203 of file qqmlpropertycachecreator_p.h.
References QQmlPropertyCacheCreator< ObjectContainer >::allICs, QQmlPropertyCacheCreator< ObjectContainer >::hasCycle, i, it, QQmlPropertyCacheCreator< ObjectContainer >::nodeIt, QQmlPropertyCacheCreator< ObjectContainer >::nodesSorted, QQmlPropertyCacheCreator< ObjectContainer >::objectContainer, QQmlPropertyCacheCreator< ObjectContainer >::propertyCaches, and QQmlPropertyCacheVector::resetAndResize().
|
inline |
Definition at line 154 of file qqmlpropertycachecreator_p.h.
References QQmlPropertyCacheCreator< ObjectContainer >::propertyCaches, and QQmlPropertyCacheVector::seal().
|
inlineprotected |
Definition at line 284 of file qqmlpropertycachecreator_p.h.
References QList< T >::append(), QQmlPropertyCacheVector::at(), context, error, QUrl::fileName(), fileName, QV4::CompiledData::Object::IsComponent, QString::isEmpty(), QV4::CompiledData::Binding::IsOnAssignment, QQmlMetaType::isValueType(), QQmlPropertyCacheVector::needsVMEMetaObject(), Q_ASSERT, qQmlCompileError(), QQmlPropertyCacheVector::set(), QV4::CompiledData::Binding::Type_AttachedProperty, QV4::CompiledData::Binding::Type_GroupProperty, QV4::CompiledData::Binding::Type_Object, and url.
|
inline |
Creates the property cache for the CompiledObjects of objectContainer, one (inline) root component at a time.
Definition at line 254 of file qqmlpropertycachecreator_p.h.
References QQmlPropertyCacheVector::at(), QQmlRefPointer< T >::isNull(), and Q_ASSERT.
|
inlineprotected |
Definition at line 438 of file qqmlpropertycachecreator_p.h.
References QQmlType::AnyRegistrationType, QString::append(), cache, QQmlMetaObject::className(), QSet< T >::constEnd(), QSet< T >::constFind(), d, QQmlPropertyData::defaultSignalFlags(), QQmlPropertyData::defaultSlotFlags(), QSet< T >::end(), QSet< T >::find(), QMetaType::flags(), function, QQmlTypeLoader::get(), QQmlTypeLoader::getType(), i, QV4::CompiledData::Invalid, QMetaType::IsQmlList, QMetaType::isValid(), it, iter, QByteArray::number(), QMetaType::PointerToQObject, QQmlPropertyResolver::property(), QQmlSignalNames::propertyNameToChangedSignalName(), Q_ASSERT, qQmlCompileError(), QStringLiteral, QQmlImports::resolveType(), QQmlPropertyCacheVector::setNeedsVMEMetaObject(), QQmlPropertyCacheVector::setOwn(), QQmlPropertyData::Flags::setType(), QQmlEnginePrivate::typeLoader, QV4::CompiledData::Var, QQmlEnginePrivate::warning(), and QTypeRevision::zero().
|
inlineprotected |
Definition at line 770 of file qqmlpropertycachecreator_p.h.
References QQmlType::AnyRegistrationType, QMetaType::isValid(), QQmlType::qListTypeId(), QQmlImports::resolveType(), QQmlType::typeId(), QQmlEnginePrivate::typeLoader, and typeName.
|
inlineprotected |
Definition at line 384 of file qqmlpropertycachecreator_p.h.
References context, error, QQmlTypeLoader::get(), QQmlMetaType::propertyCache(), Q_ASSERT, qQmlCompileError(), and QQmlImports::resolveType().
|
inlineprotected |
Definition at line 185 of file qqmlpropertycachecreator_p.h.
References QQmlPropertyCacheCreator< ObjectContainer >::objectContainer.
|
inline |
Returns a valid error if the inline components of the objectContainer form a cycle. Otherwise an invalid error is returned
Definition at line 242 of file qqmlpropertycachecreator_p.h.
References QQmlError::setDescription().
|
protected |
Definition at line 196 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator().
|
protected |
Definition at line 193 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 187 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 199 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator().
|
protected |
Definition at line 189 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 195 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 198 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator().
|
protected |
Definition at line 197 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator().
|
protected |
Definition at line 188 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator(), and QQmlPropertyCacheCreator< ObjectContainer >::stringAt().
|
protected |
Definition at line 191 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 190 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator(), and QQmlPropertyCacheCreator< ObjectContainer >::~QQmlPropertyCacheCreator().
|
protected |
Definition at line 192 of file qqmlpropertycachecreator_p.h.