3#ifndef QQMLTYPECOMPILER_P_H
4#define QQMLTYPECOMPILER_P_H
20#include <private/qqmltypeloader_p.h>
21#include <private/qqmlirbuilder_p.h>
22#include <private/qqmlpropertycachecreator_p.h>
36namespace CompiledData {
71 return pragma->listPropertyAssignBehavior;
73 return ListPropertyAssignBehavior::Append;
77 QQmlRefPointer<QV4::CompiledData::CompilationUnit>
compile();
113 if (
ref->type().typeId() ==
type)
122 QList<QQmlError> errors;
127 QHash<int, QQmlCustomParser*> customParsers;
166 const QVector<QmlIR::Object*> &qmlObjects;
168 const QHash<int, QQmlCustomParser*> &customParsers;
169 const QSet<QString> &illegalNames;
186 bool assignEnumToBinding(
QmlIR::Binding *binding,
const QString &enumName,
int enumValue,
bool isQtObject)
188 return assignEnumToBinding(binding,
QStringView(enumName), enumValue, isQtObject);
190 bool tryQualifiedEnumAssignment(
196 const QVector<QmlIR::Object*> &qmlObjects;
209 void scanObjectRecursively(
int objectIndex,
bool annotateScriptBindings =
false);
211 const QVector<QmlIR::Object*> &qmlObjects;
212 const QHash<int, QQmlCustomParser*> &customParsers;
223 const QVector<QmlIR::Object*> &qmlObjects;
235 const QVector<QmlIR::Object*> &qmlObjects;
248 enum class ScopeDeferred {
False,
True };
249 bool scanObject(
int objectIndex, ScopeDeferred scopeDeferred);
251 QVector<QmlIR::Object*> *qmlObjects;
253 const QHash<int, QQmlCustomParser*> &customParsers;
255 bool _seenObjectWithId;
268 const QVector<QmlIR::Object*> &qmlObjects;
T value(const Key &key) const noexcept
void annotateBindingsToAliases()
QQmlAliasAnnotator(QQmlTypeCompiler *typeCompiler)
void annotateBindingsWithScriptStrings()
QQmlCustomParserScriptIndexer(QQmlTypeCompiler *typeCompiler)
QUrl finalUrl() const
Returns the logical URL to be used for resolving further URLs referred to in the code.
void mergeDefaultProperties()
QQmlDefaultPropertyMerger(QQmlTypeCompiler *typeCompiler)
QQmlDeferredAndCustomParserBindingScanner(QQmlTypeCompiler *typeCompiler)
QQmlEnumTypeResolver(QQmlTypeCompiler *typeCompiler)
bool resolveEnumBindings()
The QQmlError class encapsulates a QML error.
The QQmlImports class encapsulates one QML document's import statements.
QQmlScriptStringScanner(QQmlTypeCompiler *typeCompiler)
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
std::function< QByteArray()> DependentTypesHasher
#define Q_DECLARE_TR_FUNCTIONS(context)
GLsizei const GLfloat * v
[13]
GLuint GLsizei const GLchar * message
void recordError(const QV4::CompiledData::Location &location, const QString &description) const
QQmlCompilePass(QQmlTypeCompiler *typeCompiler)
QV4::ResolvedTypeReference * resolvedType(int id) const
QQmlTypeCompiler * compiler
QString stringAt(int idx) const
QQmlEnginePrivate * enginePrivate() const
const QmlIR::Object * objectAt(int index) const
int registerConstant(QV4::ReturnedValue v)
QmlIR::Object CompiledObject
QmlIR::PoolList< QmlIR::Function >::Iterator objectFunctionsBegin(const QmlIR::Object *object) const
QV4::ResolvedTypeReference * resolvedType(int id) const
QQmlTypeCompiler(QQmlEnginePrivate *engine, QQmlTypeData *typeData, QmlIR::Document *document, QV4::CompiledData::ResolvedTypeReferenceMap *resolvedTypeCache, const QV4::CompiledData::DependentTypesHasher &dependencyHasher)
QList< QQmlError > compilationErrors() const
const QHash< int, QQmlCustomParser * > & customParserCache() const
QV4::CompiledData::ResolvedTypeReferenceMap * resolvedTypes
const QV4::CompiledData::Unit * qmlUnit() const
QmlIR::Object * objectAt(int index)
QQmlType qmlTypeForComponent(const QString &inlineComponentName=QString()) const
QmlIR::PoolList< QmlIR::Function >::Iterator objectFunctionsEnd(const QmlIR::Object *object) const
QQmlPropertyCacheVector * propertyCaches()
QQmlJS::MemoryPool * memoryPool()
QString bindingAsString(const QmlIR::Object *object, int scriptIndex) const
ListPropertyAssignBehavior listPropertyAssignBehavior() const
int registerString(const QString &str)
const QV4::Compiler::StringTableGenerator * stringPool() const
QV4::ResolvedTypeReference * resolvedType(QMetaType type) const
void recordError(const QV4::CompiledData::Location &location, const QString &description)
QStringView newStringRef(const QString &string)
QmlIR::Binding CompiledBinding
void addImport(const QString &module, const QString &qualifier, QTypeRevision version)
QQmlRefPointer< QV4::CompiledData::CompilationUnit > compile()
QVector< QmlIR::Object * > * qmlObjects() const
QString stringAt(int idx) const
const QQmlImports * imports() const
ListPropertyAssignBehaviorValue
@ ListPropertyAssignBehavior
bool resolveSignalHandlerExpressions()
SignalHandlerResolver(QQmlTypeCompiler *typeCompiler)