6#include <private/qqmlengine_p.h>
12template<
typename BaseNameHandler,
typename FailHandler>
14 const QUrl &
url, BaseNameHandler &&baseNameHandler, FailHandler &&failHandler)
27 return (!baseName.
isEmpty() && baseName.
at(0).isUpper())
28 ? baseNameHandler(baseName)
44 return nameBase.toUtf8() +
QByteArray(
"_QMLTYPE_");
54 return QByteArray(nameBase.toUtf8() +
"_QMLTYPE_");
58 return baseName +
name.toUtf8() +
'_'
63 int referencingObjectIndex,
65 const QString &instantiatingPropertyName,
67 : referencingObjectIndex(referencingObjectIndex)
68 , instantiatingBinding(instantiatingBinding)
69 , instantiatingPropertyName(instantiatingPropertyName)
70 , referencingObjectPropertyCache(referencingObjectPropertyCache)
87 bool notInRevision =
false;
124 const int groupPropertyObjectIndex = pendingBinding.instantiatingBinding->value.objectIndex;
126 if (propertyCaches->
at(groupPropertyObjectIndex))
129 Q_ASSERT(!pendingBinding.instantiatingPropertyName.isEmpty());
131 if (!pendingBinding.referencingObjectPropertyCache) {
132 pendingBinding.referencingObjectPropertyCache
133 = propertyCaches->
at(pendingBinding.referencingObjectIndex);
136 if (!pendingBinding.resolveInstantiatingProperty())
138 auto cache = pendingBinding.instantiatingPropertyCache();
139 propertyCaches->
set(groupPropertyObjectIndex,
cache);
static QByteArray number(int, int base=10)
Returns a byte-array representing the whole number n as text.
QQmlPropertyCache::ConstPtr at(int index) const
void set(int index, const QQmlPropertyCache::ConstPtr &replacement)
QTypeRevision typeVersion() const
QMetaType propType() const
constexpr bool isEmpty() const noexcept
Returns whether this string view is empty - that is, whether {size() == 0}.
constexpr QChar at(qsizetype n) const noexcept
Returns the character at position n in this string view.
constexpr QStringView mid(qsizetype pos, qsizetype n=-1) const noexcept
Returns the substring of length length starting at position start in this object.
\macro QT_RESTRICTED_CAST_FROM_ASCII
qsizetype lastIndexOf(QChar c, Qt::CaseSensitivity cs=Qt::CaseSensitive) const noexcept
QString path(ComponentFormattingOptions options=FullyDecoded) const
Returns the path of the URL.
QCache< int, Employee > cache
[0]
Combined button and popup list for selecting options.
typedef QByteArray(EGLAPIENTRYP PFNQGSGETDISPLAYSPROC)()
GLsizei const GLchar *const * path
auto processUrlForClassName(const QUrl &url, BaseNameHandler &&baseNameHandler, FailHandler &&failHandler)
QUrl url("example.com")
[constructor-url-reference]
obj metaObject() -> className()
\inmodule QtCore \reentrant
int referencingObjectIndex
QQmlPropertyCache::ConstPtr referencingObjectPropertyCache
const QV4::CompiledData::Binding * instantiatingBinding
bool resolveInstantiatingProperty()
const QQmlPropertyData * instantiatingProperty
QQmlBindingInstantiationContext()
QQmlPropertyCache::ConstPtr instantiatingPropertyCache() const
QString instantiatingPropertyName
void resolveMissingPropertyCaches(QQmlPropertyCacheVector *propertyCaches) const
static bool canCreateClassNameTypeByUrl(const QUrl &url)
static QByteArray createClassNameTypeByUrl(const QUrl &url)
static QAtomicInt Q_AUTOTEST_EXPORT classIndexCounter
static QByteArray createClassNameForInlineComponent(const QUrl &baseUrl, const QString &name)
const QQmlPropertyData * property(int index) const
quint32_le propertyNameIndex