46 QQmlJSLinter(
const QStringList &importPaths,
const QStringList &extraPluginPaths = {},
47 bool useAbsolutePath =
false);
62 Plugin(
const QStaticPlugin &plugin);
73 bool isValid()
const {
return m_isValid; }
85 m_isEnabled = isEnabled;
91 bool parseMetaData(
const QJsonObject &metaData, QString pluginName);
94 QString m_description;
98 QList<QQmlJS::LoggerCategory> m_categories;
99 QQmlSA::LintPlugin *m_instance;
100 std::unique_ptr<QPluginLoader> m_loader;
103 bool m_isValid =
false;
104 bool m_isEnabled =
true;
109 LintResult lintFile(
const QString &filename,
const QString *fileContents,
const bool silent,
110 QJsonArray *json,
const QStringList &qmlImportPaths,
111 const QStringList &qmldirFiles,
const QStringList &resourceFiles,
112 const QList<QQmlJS::LoggerCategory> &categories,
113 const QQmlJS::HeuristicContextProperties &contextProperties = {});
116 const QStringList &qmlImportPaths,
const QStringList &resourceFiles);
126 void setPlugins(std::vector<Plugin> plugins) { m_plugins = std::move(plugins); }
134 LintResult lintFileImpl(
const QString &filename,
const QString *fileContents,
const bool silent,
135 QJsonArray *json,
const QStringList &qmlImportPaths,
136 const QStringList &qmldirFiles,
const QStringList &resourceFiles,
137 const QList<QQmlJS::LoggerCategory> &categories,
138 const QQmlJS::HeuristicContextProperties &heuristicContextProperties);
139 LintResult lintModuleImpl(
const QString &uri,
const bool silent, QJsonArray *json,
140 const QStringList &qmlImportPaths,
const QStringList &resourceFiles);
141 void setupLoggingCategoriesInLogger(
const QList<QQmlJS::LoggerCategory> &categories);
142 void parseComments(QQmlJSLogger *logger,
const QList<QQmlJS::SourceLocation> &comments);
143 void processMessages(QJsonArray &warnings);
145 contextPropertiesFor(
const QString &fileName, QQmlJSResourceFileMapper *mapper,
146 const QQmlJS::HeuristicContextProperties &heuristicContextProperties);
148 bool m_useAbsolutePath;
149 bool m_enablePlugins;
150 QQmlJSImporter m_importer;
151 QScopedPointer<QQmlJSLogger> m_logger;
152 QString m_fileContents;
153 std::vector<Plugin> m_plugins;
154 QQmlToolingSettings m_userContextPropertySettings =
156 QQmlToolingSettings::Searcher m_heuristicContextPropertySearcher =
LintResult lintFile(const QString &filename, const QString *fileContents, const bool silent, QJsonArray *json, const QStringList &qmlImportPaths, const QStringList &qmldirFiles, const QStringList &resourceFiles, const QList< QQmlJS::LoggerCategory > &categories, const QQmlJS::HeuristicContextProperties &contextProperties={})