![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#include <qqmlpropertycachecreator_p.h>
Public Types | |
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, QQmlTypeLoader *typeLoader, const ObjectContainer *objectContainer, const QQmlImports *imports, const QByteArray &typeClassName) | |
~QQmlPropertyCacheCreator () | |
IncrementalResult | buildMetaObjectsIncrementally () |
QQmlError | verifyNoICCycle () |
q23::expected< QQmlPropertyCache::Ptr, QQmlError > | tryDeriveCacheFrom (const CompiledObject *obj, const QQmlPropertyCache::ConstPtr &baseTypeCache, QByteArray dynamicClassName=QByteArray()) const |
q23::expected< QQmlPropertyData, QQmlError > | tryCreateQQmlPropertyData (const QV4::CompiledData::Property &propertyIR, int coreIndex, int notifyIndex) const |
Protected Types | |
enum class | VMEMetaObjectIsRequired { Maybe , Always } |
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) const |
QString | stringAt (int index) const |
Protected Attributes | |
QQmlTypeLoader *const | typeLoader |
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 QV4::CompiledData::CommonType | propertyTypeForMetaType (QMetaType metaType) |
static bool | canCreateClassNameTypeByUrl (const QUrl &url) |
static QByteArray | createClassNameTypeByUrl (const QUrl &url) |
static QByteArray | createClassNameForInlineComponent (const QUrl &url) |
Static Public Attributes inherited from QQmlPropertyCacheCreatorBase | |
static QAtomicInt Q_AUTOTEST_EXPORT | classIndexCounter |
Definition at line 184 of file qqmlpropertycachecreator_p.h.
using QQmlPropertyCacheCreator< ObjectContainer >::CompiledObject = typename ObjectContainer::CompiledObject |
Definition at line 187 of file qqmlpropertycachecreator_p.h.
using QQmlPropertyCacheCreator< ObjectContainer >::InlineComponent = typename std::remove_reference<decltype (*(std::declval<CompiledObject>().inlineComponentsBegin()))>::type |
Definition at line 188 of file qqmlpropertycachecreator_p.h.
|
strongprotected |
Enumerator | |
---|---|
Maybe | |
Always |
Definition at line 241 of file qqmlpropertycachecreator_p.h.
|
inline |
Definition at line 287 of file qqmlpropertycachecreator_p.h.
References QQmlPropertyCacheCreator(), currentRoot, objectContainer, and pendingGroupPropertyBindings.
Referenced by QQmlPropertyCacheCreator().
|
inline |
Definition at line 195 of file qqmlpropertycachecreator_p.h.
|
inlineprotected |
Definition at line 615 of file qqmlpropertycachecreator_p.h.
References objectContainer, pendingGroupPropertyBindings, QQmlBindingInstantiationContext::referencingObjectIndex, and QQmlBindingInstantiationContext::resolveInstantiatingProperty().
|
inline |
Creates the property cache for the CompiledObjects of objectContainer, one (inline) root component at a time.
Definition at line 339 of file qqmlpropertycachecreator_p.h.
References currentRoot, hasCycle, and objectContainer.
|
inlineprotected |
Definition at line 771 of file qqmlpropertycachecreator_p.h.
References objectContainer.
|
inlineprotected |
Definition at line 811 of file qqmlpropertycachecreator_p.h.
References objectContainer.
|
inlineprotected |
Definition at line 717 of file qqmlpropertycachecreator_p.h.
References objectContainer.
|
inlineprotected |
Definition at line 252 of file qqmlpropertycachecreator_p.h.
References objectContainer.
|
nodiscard |
Tries to create a QQmlPropertyData based on IR of a property. This involves property type resolution and property flags creation
notifyIndex MUST be in the signal index range (see QObjectPrivate::signalIndex()). This is different from QMetaMethod::methodIndex()
return error in case of failed type resolution
Definition at line 596 of file qqmlpropertycachecreator_p.h.
|
nodiscard |
Tries to creates a property cache for the CompiledObject based on the cache of a base type. Returns QQmlError in case of invalid overrides
Definition at line 370 of file qqmlpropertycachecreator_p.h.
References 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 327 of file qqmlpropertycachecreator_p.h.
References hasCycle.
|
protected |
Definition at line 280 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 277 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator(), and buildMetaObjectsIncrementally().
|
protected |
Definition at line 283 of file qqmlpropertycachecreator_p.h.
Referenced by buildMetaObjectsIncrementally(), and verifyNoICCycle().
|
protected |
Definition at line 273 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 279 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 282 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 281 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 272 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator(), buildMetaObjectRecursively(), buildMetaObjectsIncrementally(), createMetaObject(), metaTypeForParameter(), propertyCacheForObject(), stringAt(), and tryDeriveCacheFrom().
|
protected |
Definition at line 275 of file qqmlpropertycachecreator_p.h.
Referenced by QQmlPropertyCacheCreator(), and buildMetaObjectRecursively().
|
protected |
Definition at line 274 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 276 of file qqmlpropertycachecreator_p.h.
|
protected |
Definition at line 271 of file qqmlpropertycachecreator_p.h.