4#ifndef QQMLJSIMPORTER_P_H
5#define QQMLJSIMPORTER_P_H
17#include <private/qtqmlcompilerexports_p.h>
21#include <QtQml/private/qqmldirparser_p.h>
35 bool useOptionalImports =
false);
43 ImportedTypes importBuiltins();
44 void importQmldirs(
const QStringList &qmltypesFiles);
56 ImportedTypes builtinInternalNames();
60 const auto result = std::move(m_warnings);
67 const auto result = std::move(m_globalWarnings);
68 m_globalWarnings.clear();
73 void setImportPaths(
const QStringList &importPaths);
79 std::unique_ptr<QQmlJSImportVisitor>
93 AvailableTypes(ImportedTypes builtins)
94 : cppNames(
std::move(builtins))
95 , qmlNames(
QQmlJSScope::ContextualTypes::QML, {}, cppNames.arrayType())
100 ImportedTypes cppNames;
103 ImportedTypes qmlNames;
109 bool hasSystemModule =
false;
114 bool isStaticModule =
false;
115 bool isSystemModule =
false;
123 AvailableTypes builtinImportHelper();
124 bool importHelper(
const QString &module, AvailableTypes *
types,
126 bool isDependency =
false,
bool isFile =
false);
128 AvailableTypes *
types);
129 void importDependencies(
const QQmlJSImporter::Import &
import, AvailableTypes *
types,
138 static void setQualifiedNamesOn(
const Import &
import);
149 std::optional<AvailableTypes> m_builtins;
153 bool m_useOptionalImports;
155 ImportVisitorCreator m_createImportVisitor =
nullptr;
QQmlJSImportVisitor *(*)(const QQmlJSScope::Ptr &, QQmlJSImporter *, QQmlJSLogger *, const QString &, const QStringList &) ImportVisitorCreator
QStringList importPaths() const
QHash< QString, QQmlJSScope::Ptr > importedFiles() const
QList< QQmlJS::DiagnosticMessage > takeWarnings()
QList< QQmlJS::DiagnosticMessage > takeGlobalWarnings()
void setMetaDataMapper(QQmlJSResourceFileMapper *mapper)
void setResourceFileMapper(QQmlJSResourceFileMapper *mapper)
QQmlJSResourceFileMapper * resourceFileMapper() const
QQmlJSResourceFileMapper * metaDataMapper() const
Tracks the types for the QmlCompiler.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
GLsizei GLenum GLenum * types