![]() |
Qt 6.x
The Qt SDK
|
#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 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 QAtomicInt Q_AUTOTEST_EXPORT | classIndexCounter |
Definition at line 88 of file qqmlpropertycachecreator_p.h.
using QQmlPropertyCacheCreator< ObjectContainer >::CompiledObject = typename ObjectContainer::CompiledObject |
Definition at line 91 of file qqmlpropertycachecreator_p.h.
using QQmlPropertyCacheCreator< ObjectContainer >::InlineComponent = typename std::remove_reference<decltype (*(std::declval<CompiledObject>().inlineComponentsBegin()))>::type |
Definition at line 92 of file qqmlpropertycachecreator_p.h.
|
strong |
Enumerator | |
---|---|
Maybe | |
Always |
Definition at line 119 of file qqmlpropertycachecreator_p.h.
|
inline |
Definition at line 148 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 99 of file qqmlpropertycachecreator_p.h.
References QQmlPropertyCacheCreator< ObjectContainer >::propertyCaches, and QQmlPropertyCacheVector::seal().
|
inlineprotected |
Definition at line 229 of file qqmlpropertycachecreator_p.h.
References QList< T >::append(), QQmlPropertyCacheVector::at(), context, error, QUrl::fileName(), fileName, QV4::CompiledData::Object::IsComponent, 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 199 of file qqmlpropertycachecreator_p.h.
References QQmlPropertyCacheVector::at(), QQmlRefPointer< T >::isNull(), QQmlError::isValid(), Q_ASSERT, QV4::ResolvedTypeReference::setTypePropertyCache(), and QV4::ResolvedTypeReference::typePropertyCache().
Referenced by QQmlTypeCompiler::compile().
|
inlineprotected |
Definition at line 399 of file qqmlpropertycachecreator_p.h.
References QQmlType::AnyRegistrationType, QByteArray::append(), QLinkedStringHash< T >::begin(), cache, QQmlMetaObject::className(), QVarLengthArray< T, Prealloc >::constData(), QSet< T >::contains(), d, QQmlRefPointer< T >::data(), QQmlPropertyData::defaultSignalFlags(), QQmlPropertyData::defaultSlotFlags(), e, QQmlType::elementName(), QLinkedStringHash< T >::end(), QMetaType::flags(), function, QQmlTypeLoader::getType(), i, QQmlMetaType::inlineComponentTypeForUrl(), QSet< T >::insert(), QV4::CompiledData::Invalid, QQmlType::isComposite(), QByteArray::isEmpty(), QQmlType::isInlineComponentType(), QMetaType::IsQmlList, QMetaType::isValid(), QQmlType::isValid(), iter, QByteArray::number(), QQmlPropertyCache::parent(), QMetaType::PointerToQObject, QQmlPropertyResolver::property(), Q_ASSERT, QQmlType::qListTypeId(), qQmlCompileError(), QStringLiteral, QQmlImports::resolveType(), QQmlPropertyData::Flags::setIsWritable(), QQmlPropertyCacheVector::setNeedsVMEMetaObject(), QQmlPropertyCacheVector::setOwn(), QQmlPropertyCache::signal(), QQmlPropertyCache::signalCount(), QQmlPropertyCache::signalOffset(), QQmlType::sourceUrl(), QQmlPropertyData::Flags::type, QQmlType::typeId(), QQmlEnginePrivate::typeLoader, QV4::CompiledData::Var, QQmlType::version(), and QTypeRevision::zero().
|
inlineprotected |
Definition at line 688 of file qqmlpropertycachecreator_p.h.
References QQmlType::AnyRegistrationType, QQmlType::elementName(), QQmlTypeLoader::getType(), QQmlType::isComposite(), QQmlType::isInlineComponentType(), QMetaType::isValid(), Q_ASSERT, QQmlType::qListTypeId(), QQmlImports::resolveType(), QQmlType::sourceUrl(), QQmlType::typeId(), QQmlEnginePrivate::typeLoader, and typeName.
|
inlineprotected |
Definition at line 329 of file qqmlpropertycachecreator_p.h.
References QList< T >::append(), QQmlType::attachedPropertiesType(), context, error, ext, i, QQmlType::isValid(), QQmlMetaType::propertyCache(), Q_ASSERT, qQmlCompileError(), and QQmlImports::resolveType().
|
inlineprotected |
Definition at line 130 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 187 of file qqmlpropertycachecreator_p.h.
References QQmlError::setDescription().
Referenced by QQmlTypeCompiler::compile().
|
protected |
Definition at line 141 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator().
|
protected |
Definition at line 138 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 132 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 144 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator().
|
protected |
Definition at line 134 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 140 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 143 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator().
|
protected |
Definition at line 142 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator().
|
protected |
Definition at line 133 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator(), and QQmlPropertyCacheCreator< ObjectContainer >::stringAt().
|
protected |
Definition at line 136 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 135 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator< ObjectContainer >::QQmlPropertyCacheCreator(), and QQmlPropertyCacheCreator< ObjectContainer >::~QQmlPropertyCacheCreator().
|
protected |
Definition at line 137 of file qqmlpropertycachecreator_p.h.