4#ifndef QQMLDOMELEMENTS_P_H
5#define QQMLDOMELEMENTS_P_H
23#include <QtQml/private/qqmljsast_p.h>
24#include <QtQml/private/qqmljsengine_p.h>
26#include <QtCore/QCborValue>
27#include <QtCore/QCborMap>
28#include <QtCore/QMutexLocker>
29#include <QtCore/QPair>
32#include <private/qqmljsscope_p.h>
79 .
field(Fields::components)
82 .
field(Fields::objects)
158 constexpr static DomType kindValue = DomType::Version;
167 bool isLatest()
const;
168 bool isValid()
const;
172 if (majorVersion >= 0 || majorVersion ==
Undefined)
178 if (majorVersion == Version::Latest)
180 if (majorVersion >= 0 || majorVersion ==
Undefined)
186 if (minorVersion >= 0 || minorVersion ==
Undefined)
192 int c = majorVersion -
o.majorVersion;
195 return minorVersion -
o.minorVersion;
203 return v1.compare(
v2) == 0;
207 return v1.compare(
v2) != 0;
211 return v1.compare(
v2) < 0;
215 return v1.compare(
v2) <= 0;
219 return v1.compare(
v2) > 0;
223 return v1.compare(
v2) >= 0;
247 return i1.m_kind == i2.m_kind && i1.m_value == i2.m_value;
254 Kind m_kind = Kind::Invalid;
255 std::variant<QString, QUrl> m_value;
262 constexpr static DomType kindValue = DomType::Import;
270 : uri(uri), version(version), importId(importId)
277 if (uri.isDirectory()) {
279 if (!
path.isEmpty()) {
280 return Paths::qmlDirPath(
path);
282 Q_ASSERT_X(
false,
"Import",
"url imports not supported");
283 return Paths::qmldirFilePath(uri.directoryString());
286 return Paths::moduleScopePath(uri.moduleUri(), version);
306 bool implicit =
false;
312 constexpr static DomType kindValue = DomType::ModuleAutoExport;
317 cont = cont && self.dvWrapField(visitor, Fields::import,
import);
318 cont = cont && self.dvValueField(visitor, Fields::inheritVersion, inheritVersion);
332 bool inheritVersion =
false;
338 constexpr static DomType kindValue = DomType::Pragma;
347 bool cont = self.dvValueField(visitor, Fields::name,
name);
348 cont = cont && self.dvValueField(visitor, Fields::values,
values);
349 cont = cont && self.dvWrapField(visitor, Fields::comments, comments);
363 constexpr static DomType kindValue = DomType::Id;
375 std::shared_ptr<ScriptExpression>
value;
392 constexpr static DomType kindValue = DomType::ScriptExpression;
396 AST::Node *ast, std::shared_ptr<AstComments> comments,
411 :
OwningItem(derivedFrom), m_expressionType(expressionType)
413 setCode(code, preCode, postCode);
420 return std::static_pointer_cast<ScriptExpression>(doCopy(self));
445 return m_expressionType;
451 return m_code.isNull();
453 std::shared_ptr<QQmlJS::Engine>
engine()
const
458 std::shared_ptr<AstComments>
astComments()
const {
return m_astComments; }
470 return std::make_shared<ScriptExpression>(*
this);
478 x.startLine - m_localOffset.startLine + loc.
startLine,
479 ((
x.startLine == m_localOffset.startLine) ?
x.startColumn
488 x.offset - m_localOffset.offset,
x.length,
x.startLine - m_localOffset.startLine,
489 ((
x.startLine == m_localOffset.startLine)
490 ?
x.startColumn - m_localOffset.startColumn
501 ExpressionType m_expressionType;
506 mutable std::shared_ptr<QQmlJS::Engine> m_engine;
508 std::shared_ptr<AstComments> m_astComments;
518 constexpr static DomType kindValue = DomType::Binding;
521 std::unique_ptr<BindingValue>
value = std::unique_ptr<BindingValue>(),
573 std::unique_ptr<BindingValue> m_value;
581 enum Access { Private, Protected, Public };
592 bool isReadonly =
false;
600 enum class Status {
Invalid, ResolvedProperty, ResolvedObject, Loop, TooDeep };
604 case Status::ResolvedProperty:
605 case Status::ResolvedObject:
622 constexpr static DomType kindValue = DomType::PropertyDefinition;
626 bool cont = AttributeInfo::iterateDirectSubpaths(self, visitor);
627 cont = cont && self.dvValueField(visitor, Fields::isPointer, isPointer);
628 cont = cont && self.dvValueField(visitor, Fields::isFinal, isFinal);
629 cont = cont && self.dvValueField(visitor, Fields::isAlias, isAlias());
630 cont = cont && self.dvValueField(visitor, Fields::isDefaultMember, isDefaultMember);
631 cont = cont && self.dvValueField(visitor, Fields::isRequired, isRequired);
632 cont = cont && self.dvValueField(visitor, Fields::read,
read);
633 cont = cont && self.dvValueField(visitor, Fields::write,
write);
634 cont = cont && self.dvValueField(visitor, Fields::bindable, bindable);
635 cont = cont && self.dvValueField(visitor, Fields::notify, notify);
636 cont = cont && self.dvReferenceField(visitor, Fields::type, typePath());
650 bool isFinal =
false;
651 bool isPointer =
false;
652 bool isDefaultMember =
false;
653 bool isRequired =
false;
654 std::optional<QQmlJSScope::Ptr>
scope;
660 constexpr static DomType kindValue = DomType::PropertyInfo;
671 constexpr static DomType kindValue = DomType::MethodParameter;
680 bool isPointer =
false;
681 bool isReadonly =
false;
689 std::shared_ptr<ScriptExpression>
value;
715 body = std::make_shared<ScriptExpression>(
716 code, ScriptExpression::ExpressionType::FunctionBody, 0,
720 std::optional<QQmlJSScope::Ptr>
semanticScope()
const {
return m_semanticScope; }
726 std::shared_ptr<ScriptExpression>
body;
728 bool isConstructor =
false;
735 constexpr static DomType kindValue = DomType::EnumItem;
742 double value()
const {
return m_value; }
756 constexpr static DomType kindValue = DomType::EnumDecl;
777 m_values.append(
value);
778 return Path::Field(Fields::values).
index(
index_type(m_values.size() - 1));
789 bool m_isFlag =
false;
799 constexpr static DomType kindValue = DomType::QmlObject;
836 m_prototypePaths.append(prototypePath);
838 return Path::Field(Fields::prototypes).index(idx);
843 m_propertyDefs = propertyDefs;
849 m_children = children;
851 updatePathFromOwner(pathFromOwner());
855 m_annotations = annotations;
857 updatePathFromOwner(pathFromOwner());
863 m_propertyDefs, propertyDef.
name, propertyDef,
894 m_annotations, annotation, aPtr);
900 std::shared_ptr<ScriptExpression> accessSequence)
const;
911 Path m_nextScopePath;
918 std::optional<QQmlJSScope::Ptr> m_scope;
930 cont = cont && self.dvValueField(visitor, Fields::uri,
uri);
931 cont = cont && self.dvValueField(visitor, Fields::typeName,
typeName);
932 cont = cont && self.dvWrapField(visitor, Fields::version,
version);
934 cont = cont && self.dvReferenceField(visitor, Fields::type,
typePath);
935 cont = cont && self.dvValueField(visitor, Fields::isInternal,
isInternal);
936 cont = cont && self.dvValueField(visitor, Fields::isSingleton,
isSingleton);
938 cont = cont && self.dvReferenceField(visitor, Fields::exportSource,
exportSourcePath);
960 void updatePathFromOwner(
Path newPath)
override;
979 m_enumerations = enumerations;
985 m_enumerations, enumeration.
name(), enumeration,
1001 bool m_isSingleton =
false;
1002 bool m_isCreatable =
true;
1003 bool m_isComposite =
true;
1005 Path m_attachedTypePath;
1011 constexpr static DomType kindValue = DomType::JsResource;
1025 constexpr static DomType kindValue = DomType::QmltypesComponent;
1054 bool m_hasCustomParser =
false;
1055 bool m_extensionIsNamespace =
false;
1064 constexpr static DomType kindValue = DomType::QmlComponent;
1069 setIsComposite(
true);
1070 setIsCreatable(
true);
1074 :
Component(
o), m_nextComponentPath(
o.m_nextComponentPath), m_ids(
o.m_ids)
1085 void updatePathFromOwner(
Path newPath)
override;
1101 Path m_nextComponentPath;
1103 std::optional<QQmlJSScope::Ptr> m_semanticScope;
1109 constexpr static DomType kindValue = DomType::GlobalComponent;
1121 constexpr static DomType kindValue = DomType::ImportScope;
1135 for (
Path p : allSources(self)) {
1145 for (
Path p : allSources(self)) {
1146 DomItem source = self.path(
p.field(Fields::exports), self.errorHandler());
1149 for (
int i = 0;
i < nEls; ++
i)
1151 if (nEls == 0 && els) {
1153 tr(
"Looking up '%1' expected a list of exports, not %2")
1168 tr(
"Expected Export looking up '%1', not %2").
arg(
name,
i.toString())));
1178 m_subImports[current].addImport(
p, targetExports);
1179 }
else if (!m_importSourcePaths.contains(targetExports)) {
1180 m_importSourcePaths.
append(targetExports);
constexpr bool isUpper() const noexcept
Returns true if the character is an uppercase letter, for example category() is Letter_Uppercase.
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor)
void updatePathFromOwner(Path newPath)
QList< QmlObject > annotations
Path addAnnotation(Path selfPathFromOwner, const QmlObject &annotation, QmlObject **aPtr=nullptr)
BindingValue(const QList< QmlObject > &l)
DomItem value(DomItem &binding)
void updatePathFromOwner(Path newPath)
BindingValue(const BindingValue &o)
BindingValue & operator=(const BindingValue &o)
std::shared_ptr< ScriptExpression > scriptExpression
BindingValue(const QmlObject &o)
BindingValue(std::shared_ptr< ScriptExpression > o)
void setValue(std::unique_ptr< BindingValue > &&value)
void setAnnotations(QList< QmlObject > annotations)
BindingType bindingType() const
std::shared_ptr< ScriptExpression > scriptExpressionValue() const
RegionComments & comments()
Binding & operator=(const Binding &)
Path addAnnotation(Path selfPathFromOwner, const QmlObject &a, QmlObject **aPtr=nullptr)
QList< QmlObject > annotations() const
Binding(QString m_name, QmlObject value, BindingType bindingType=BindingType::Normal)
static QString preCodeForName(QStringView n)
Binding(QString m_name, QList< QmlObject > value, BindingType bindingType=BindingType::Normal)
Binding(QString m_name=QString(), std::unique_ptr< BindingValue > value=std::unique_ptr< BindingValue >(), BindingType bindingType=BindingType::Normal)
QmlObject const * objectValue() const
Binding(QString m_name, std::shared_ptr< ScriptExpression > value, BindingType bindingType=BindingType::Normal)
QList< QmlObject > * arrayValue()
Binding(const Binding &o)
QList< QmlObject > const * arrayValue() const
static QString postCodeForName(QStringView)
void writeOutValue(DomItem &self, OutWriter &lw) const
Binding & operator=(Binding &&)=default
const RegionComments & comments() const
bool isSignalHandler() const
DomItem valueItem(DomItem &self) const
Binding(Binding &&o)=default
QmlObject * objectValue()
std::shared_ptr< ScriptExpression > scriptExpressionValue()
Binding(QString m_name, QString scriptCode, BindingType bindingType=BindingType::Normal)
BindingValueKind valueKind() const
void updatePathFromOwner(Path newPath)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor)
void writeOut(DomItem &self, OutWriter &lw) const
void setName(QString name)
void setIsSingleton(bool isSingleton)
void setAttachedTypePath(Path p)
void setIsComposite(bool isComposite)
Component & operator=(const Component &)=default
void setIsCreatable(bool isCreatable)
const QMultiMap< QString, EnumDecl > & enumerations() const &
Component(const Component &o)=default
void setEnumerations(QMultiMap< QString, EnumDecl > enumerations)
void setAttachedTypeName(QString name)
Path attachedTypePath(DomItem &) const
DomItem field(DomItem &self, QStringView name) const override
Path addEnumeration(const EnumDecl &enumeration, AddOption option=AddOption::Overwrite, EnumDecl **ePtr=nullptr)
void setObjects(QList< QmlObject > objects)
QString attachedTypeName() const
const QList< QmlObject > & objects() const &
static ErrorGroup domErrorGroup
DomItem key(QString name)
DomItem index(index_type)
const QList< QmlObject > & annotations() const &
void setAnnotations(QList< QmlObject > annotations)
void setValues(QList< EnumItem > values)
const QList< EnumItem > & values() const &
void updatePathFromOwner(Path newP) override
Path addValue(EnumItem value)
void setAlias(QString aliasName)
void setName(QString name)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
Path addAnnotation(const QmlObject &child, QmlObject **cPtr=nullptr)
void writeOut(DomItem &self, OutWriter &lw) const override
void setIsFlag(bool flag)
DomType kind() const override
EnumDecl(QString name=QString(), QList< EnumItem > values=QList< EnumItem >(), Path pathFromOwner=Path())
void writeOut(DomItem &self, OutWriter &lw) const
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor)
const RegionComments & comments() const
EnumItem(QString name=QString(), int value=0)
RegionComments & comments()
Represents a set of tags grouping a set of related error messages.
ErrorMessage warning(QString message) const
static Export fromString(Path source, QStringView exp, Path typePath, ErrorHandler h)
static constexpr DomType kindValue
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor)
DomType kind() const override
GlobalComponent(Path pathFromOwner=Path())
std::shared_ptr< ScriptExpression > value
Path addAnnotation(Path selfPathFromOwner, const QmlObject &ann, QmlObject **aPtr=nullptr)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor)
void updatePathFromOwner(Path pathFromOwner)
Id(QString idName=QString(), Path referredObject=Path())
QList< QmlObject > annotations
const QList< Path > & importSourcePaths() const &
const QMap< QString, ImportScope > & subImports() const &
QList< Path > allSources(DomItem &self) const
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor)
void addImport(QStringList p, Path targetExports)
QList< DomItem > importedItemsWithName(DomItem &self, QString name) const
QList< Export > importedExportsWithName(DomItem &self, QString name) const
QSet< QString > importedNames(DomItem &self) const
Import(QmlUri uri=QmlUri(), Version version=Version(), QString importId=QString())
bool iterateDirectSubpaths(DomItem &self, DirectVisitor)
Import baseImport() const
friend bool operator==(const Import &i1, const Import &i2)
Path importedPath() const
static Import fromUriString(QString importStr, Version v=Version(), QString importId=QString(), ErrorHandler handler=nullptr)
void writeOut(DomItem &self, OutWriter &ow) const
static Import fromFileString(QString importStr, QString importId=QString(), ErrorHandler handler=nullptr)
friend bool operator!=(const Import &i1, const Import &i2)
DomType kind() const override
bool iterateDirectSubpaths(DomItem &, DirectVisitor) override
JsResource(Path pathFromOwner=Path())
std::shared_ptr< ScriptExpression > body
std::optional< QQmlJSScope::Ptr > semanticScope() const
void writeOut(DomItem &self, OutWriter &ow) const
void writePre(DomItem &self, OutWriter &ow) const
std::optional< QQmlJSScope::Ptr > m_semanticScope
QList< MethodParameter > parameters
QString postCode(DomItem &) const
std::shared_ptr< ScriptExpression > returnType
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor)
QString preCode(DomItem &) const
void setCode(QString code)
void setSemanticScope(QQmlJSScope::Ptr scope)
void writeOut(DomItem &self, OutWriter &ow) const
std::shared_ptr< ScriptExpression > defaultValue
void writeOutSignal(DomItem &self, OutWriter &ow) const
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor)
std::shared_ptr< ScriptExpression > value
QList< QmlObject > annotations
friend bool operator==(const ModuleAutoExport &i1, const ModuleAutoExport &i2)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor)
friend bool operator!=(const ModuleAutoExport &i1, const ModuleAutoExport &i2)
static Path Root(PathRoot r)
Path key(QString name) const
Path field(QString name) const
Path index(index_type i) const
static Path Current(PathCurrent c)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor)
void writeOut(DomItem &self, OutWriter &ow) const
Pragma(QString pragmaName=QString(), const QStringList &pragmaValues={})
bool isParametricType() const
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor)
void writeOut(DomItem &self, OutWriter &lw) const
std::optional< QQmlJSScope::Ptr > scope
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor)
QList< DomItem > propertyDefs
QList< DomItem > bindings
void setNextComponentPath(Path p)
void setIds(QMultiMap< QString, Id > ids)
std::optional< QQmlJSScope::Ptr > semanticScope()
const QMultiMap< QString, Id > & ids() const &
void setSemanticScope(const QQmlJSScope::Ptr &scope)
Path nextComponentPath() const
QmlComponent(const QmlComponent &o)
Path addId(const Id &id, AddOption option=AddOption::Overwrite, Id **idPtr=nullptr)
QmlComponent & operator=(const QmlComponent &)=default
DomType kind() const override
QmlComponent(QString name=QString())
void setDefaultPropertyName(QString name)
LocallyResolvedAlias resolveAlias(DomItem &self, std::shared_ptr< ScriptExpression > accessSequence) const
void setNextScopePath(Path nextScopePath)
MutableDomItem addBinding(MutableDomItem &self, Binding binding, AddOption option)
void setChildren(QList< QmlObject > children)
void setAnnotations(QList< QmlObject > annotations)
MutableDomItem addChild(MutableDomItem &self, QmlObject child)
void setBindings(QMultiMap< QString, Binding > bindings)
QmlObject(Path pathFromOwner=Path())
Path addChild(QmlObject child, QmlObject **cPtr=nullptr)
const QMultiMap< QString, Binding > & bindings() const &
DomType kind() const override
Path addPropertyDef(PropertyDefinition propertyDef, AddOption option, PropertyDefinition **pDef=nullptr)
void setName(QString name)
Path addAnnotation(const QmlObject &annotation, QmlObject **aPtr=nullptr)
QList< QmlObject > children() const
std::optional< QQmlJSScope::Ptr > semanticScope() const
const QList< Path > & prototypePaths() const &
const QMultiMap< QString, MethodInfo > & methods() const &
QList< QString > fields(DomItem &) const override
Path addBinding(Binding binding, AddOption option, Binding **bPtr=nullptr)
DomItem field(DomItem &self, QStringView name)
void writeOut(DomItem &self, OutWriter &ow, QString onTarget) const
DomItem field(DomItem &self, QStringView name) const override
virtual bool iterateSubOwners(DomItem &self, function_ref< bool(DomItem &owner)> visitor) const
QString localDefaultPropertyName() const
void setPropertyDefs(QMultiMap< QString, PropertyDefinition > propertyDefs)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor) override
bool iterateBaseDirectSubpaths(DomItem &self, DirectVisitor)
MutableDomItem addMethod(MutableDomItem &self, MethodInfo functionDef, AddOption option)
Path nextScopePath() const
LocallyResolvedAlias resolveAlias(DomItem &self, const QStringList &accessSequence) const
void writeOut(DomItem &self, OutWriter &lw) const override
Path addMethod(MethodInfo functionDef, AddOption option, MethodInfo **mPtr=nullptr)
void setIdStr(QString id)
const QMultiMap< QString, PropertyDefinition > & propertyDefs() const &
Path addPrototypePath(Path prototypePath)
MutableDomItem addPropertyDef(MutableDomItem &self, PropertyDefinition propertyDef, AddOption option)
QList< QmlObject > annotations() const
QList< QString > fields() const
void setPrototypePaths(QList< Path > prototypePaths)
void setMethods(QMultiMap< QString, MethodInfo > functionDefs)
void updatePathFromOwner(Path newPath) override
void setSemanticScope(const QQmlJSScope::Ptr &scope)
QString defaultPropertyName(DomItem &self) const
QString absoluteLocalPath(const QString &basePath=QString()) const
static QmlUri fromDirectoryString(const QString &importStr)
QUrl directoryUrl() const
QString directoryString() const
static QmlUri fromUriString(const QString &importStr)
QString localPath() const
static QmlUri fromString(const QString &importStr)
QString moduleUri() const
friend bool operator==(const QmlUri &i1, const QmlUri &i2)
friend bool operator!=(const QmlUri &i1, const QmlUri &i2)
void setValueTypeName(const QString &name)
void setFileName(QString fileName)
void setHasCustomParser(bool v)
void setInterfaceNames(const QStringList &interfaces)
bool iterateDirectSubpaths(DomItem &, DirectVisitor) override
QQmlJSScope::AccessSemantics accessSemantics() const
bool hasCustomParser() const
void setAccessSemantics(QQmlJSScope::AccessSemantics v)
QmltypesComponent(Path pathFromOwner=Path())
QString extensionTypeName() const
bool extensionIsNamespace() const
QString valueTypeName() const
void setExports(QList< Export > exports)
void setMetaRevisions(QList< int > metaRevisions)
void setExtensionTypeName(const QString &name)
void setExtensionIsNamespace(bool v)
const QList< int > & metaRevisions() const &
const QList< Export > & exports() const &
void addExport(const Export &exportedEntry)
const QStringList & interfaceNames() const &
DomType kind() const override
Use this to contain any script element.
QStringView preCode() const
DomType kind() const override
std::shared_ptr< AstComments > astComments() const
std::shared_ptr< QQmlJS::Engine > engine() const
std::shared_ptr< ScriptExpression > makeCopy(DomItem &self) const
Path canonicalPath(DomItem &self) const override
std::function< SourceLocation(SourceLocation)> locationToLocalF(DomItem &) const
std::shared_ptr< ScriptExpression > copyWithUpdatedCode(DomItem &self, QString code) const
ScriptExpression(const ScriptExpression &e)
ExpressionType expressionType() const
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
QStringView postCode() const
QString astRelocatableDump() const
ScriptExpression(QString code, ExpressionType expressionType, int derivedFrom=0, QString preCode=QString(), QString postCode=QString())
void setScriptElement(const ScriptElementVariant &p)
void astDumper(Sink s, AstDumperOptions options) const
std::function< SourceLocation(SourceLocation)> locationToGlobalF(DomItem &self) const
SourceLocation locationToLocal(SourceLocation x) const
std::shared_ptr< OwningItem > doCopy(DomItem &) const override
ScriptElementVariant scriptElement()
SourceLocation localOffset() const
SourceLocation globalLocation(DomItem &self) const
ScriptExpression(QStringView code, std::shared_ptr< QQmlJS::Engine > engine, AST::Node *ast, std::shared_ptr< AstComments > comments, ExpressionType expressionType, SourceLocation localOffset=SourceLocation(), int derivedFrom=0, QStringView preCode=QStringView(), QStringView postCode=QStringView())
void writeOut(DomItem &self, OutWriter &lw) const override
QString majorString() const
int compare(const Version &o) const
QString minorString() const
QString majorSymbolicString() const
\inmodule QtCore \reentrant
QString toString() const
Returns a deep copy of this string view's data as a QString.
\macro QT_RESTRICTED_CAST_FROM_ASCII
bool startsWith(const QString &s, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
Returns true if the string starts with s; otherwise returns false.
QStringList split(const QString &sep, Qt::SplitBehavior behavior=Qt::KeepEmptyParts, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
Splits the string into substrings wherever sep occurs, and returns the list of those strings.
qsizetype size() const
Returns the number of characters in this string.
const QChar at(qsizetype i) const
Returns the character at the given index position in the string.
static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QString & append(QChar c)
Path lookupPropertyPath(QString name)
Path qmlFilePath(QString canonicalFilePath)
Path moduleScopePath(QString uri, Version version, ErrorHandler)
Path loadInfoPath(Path el)
Path jsFilePath(QString path)
Path qmldirFilePath(QString path)
Path lookupSymbolPath(QString name)
Path qmltypesFilePath(QString path)
Path qmlDirectoryInfoPath(QString path)
Path lookupCppTypePath(QString name)
Path jsFileInfoPath(QString path)
Path qmldirFileInfoPath(QString path)
Path qmlDirectoryPath(QString path)
Path qmlDirPath(QString path)
Path qmlDirInfoPath(QString path)
Path qmlFileInfoPath(QString canonicalFilePath)
Path lookupTypePath(QString name)
Path qmltypesFileInfoPath(QString path)
Path globalScopePath(QString name)
Path globalScopeInfoPath(QString name)
Path moduleIndexPath(QString uri, int majorVersion, ErrorHandler errorHandler)
Path qmlFileObjectPath(QString canonicalFilePath)
std::function< void(const ErrorMessage &)> ErrorHandler
bool operator!=(const Version &v1, const Version &v2)
Path insertUpdatableElementInMultiMap(Path mapPathFromOwner, QMultiMap< K, T > &mmap, K key, const T &value, AddOption option=AddOption::KeepExisting, T **valuePtr=nullptr)
bool operator>(const Version &v1, const Version &v2)
bool operator>=(const Version &v1, const Version &v2)
bool operator==(const Version &v1, const Version &v2)
bool operator<=(const Version &v1, const Version &v2)
bool operator<(const Version &v1, const Version &v2)
static ErrorGroups importErrors
Path appendUpdatableElementInQList(Path listPathFromOwner, QList< T > &list, const T &value, T **vPtr=nullptr)
Combined button and popup list for selecting options.
#define Q_DECLARE_TR_FUNCTIONS(context)
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLint GLfloat GLfloat GLfloat v2
GLenum GLsizei GLsizei GLint * values
[15]
GLsizei const GLfloat * v
[13]
GLint GLint GLint GLint GLint x
[0]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLenum GLsizei const GLuint * ids
GLfloat GLfloat GLfloat GLfloat h
GLsizei GLsizei GLchar * source
GLsizei const GLchar *const * path
#define NewErrorGroup(name)
static bool fromString(const QMetaObject *mo, QString s, Allocate &&allocate)
static bool isComposite(const QQmlJSScope::ConstPtr &scope)
#define Q_ASSERT_X(cond, x, msg)
QLatin1StringView QLatin1String
#define QStringLiteral(str)
ReturnedValue read(const char *data)
gzip write("uncompressed data")
QUrl url("example.com")
[constructor-url-reference]
\inmodule QtCore \reentrant