4#ifndef QQMLDIRPARSER_P_H
5#define QQMLDIRPARSER_P_H
19#include <QtCore/QHash>
20#include <QtCore/QDebug>
21#include <QtCore/QTypeRevision>
22#include <private/qtqmlcompilerglobal_p.h>
23#include <private/qqmljsdiagnosticmessage_p.h>
33 void disambiguateFileSelectors();
35 bool hasError()
const {
return !_errors.isEmpty(); }
37 QList<QQmlJS::DiagnosticMessage> errors(
const QString &uri)
const;
46 <<
"is specified with non-relative URL" <<
fileName <<
"in a qmldir file."
47 <<
"URLs in qmldir files should be relative to the qmldir file's directory.";
58 checkNonRelative(
"Plugin",
name,
path);
63 bool optional =
false;
80 bool internal =
false;
81 bool singleton =
false;
91 checkNonRelative(
"Script", nameSpace,
fileName);
112 : module(module), version(version),
flags(
flags)
122 return a.module ==
b.module &&
a.version ==
b.version &&
a.flags ==
b.flags;
126 QMultiHash<QString,Component>
components()
const {
return _components; }
128 QList<Import>
imports()
const {
return _imports; }
129 QList<Script>
scripts()
const {
return _scripts; }
130 QList<Plugin>
plugins()
const {
return _plugins; }
145 QList<QQmlJS::DiagnosticMessage> _errors;
148 QMultiHash<QString,Component> _components;
149 QList<Import> _dependencies;
150 QList<Import> _imports;
151 QList<Script> _scripts;
152 QList<Plugin> _plugins;
153 bool _designerSupported =
false;
154 bool _isStaticModule =
false;
155 bool _isSystemModule =
false;
void setTypeNamespace(const QString &s)
QList< Import > dependencies() const
QMultiHash< QString, Component > components() const
QList< Script > scripts() const
QString linkTarget() const
QList< Import > imports() const
static void checkNonRelative(const char *item, const QString &typeName, const QString &fileName)
QStringList typeInfos() const
bool designerSupported() const
QStringList classNames() const
bool isStaticModule() const
bool isSystemModule() const
QString preferredPath() const
QString typeNamespace() const
QList< Plugin > plugins() const
The QQmlEngine class provides an environment for instantiating QML components.
\macro QT_RESTRICTED_CAST_FROM_ASCII
static constexpr QTypeRevision zero()
Produces a QTypeRevision with major and minor version {0}.
QHash< int, QWidget * > hash
[35multi]
Combined button and popup list for selecting options.
#define Q_DECLARE_FLAGS(Flags, Enum)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
[7]
GLuint GLsizei const GLchar * message
GLsizei GLsizei GLchar * source
GLenum GLenum GLsizei void GLsizei void * column
GLsizei const GLchar *const * path
QDebug & operator<<(QDebug &, const QQmlDirParser::Component &)
static void setError(QJsonObject *response, const QString &msg)
static QT_BEGIN_NAMESPACE const uint Default
#define Q_QML_COMPILER_EXPORT
\inmodule QtCore \reentrant
Component(const QString &typeName, const QString &fileName, QTypeRevision version)
friend bool operator==(const Import &a, const Import &b)
QString QTypeRevision version
Plugin(const QString &name, const QString &path, bool optional)
Script(const QString &nameSpace, const QString &fileName, QTypeRevision version)