Details
-
Task
-
Resolution: Unresolved
-
P3: Somewhat important
-
6.6
-
675aea369 (dev)
Description
Currently, qmlls constructs the Dom twice for each document. This is because qqmlintsuggestions.cpp (the qmlls module that takes care of linting and showing errors and warnings) uses QQmlJSLinter::lintFile() to perform the lint:
Currently, QQmlJSLinter::lintFile() does create a new Dom instance to perform its linting, but it should reuse the Dom created by QQmlCodeModel::newDocForOpenFile(). Same for all dependencies required for the Dom construction: QQmlJSResourceFileMapper, QQmlJSImporter, the QQmlDomAstCreator and QQmlJSImportVisitor inside of QQmlDomAstCreatorWithQQmlJSScope, etc.... See also createDom() in qqmldomastcreator.cpp and compare it to QQmlJSLinter::lintFile().
Attachments
Issue Links
- is required for
-
QTBUG-97637 QML Language Server Support for IDEs (like VSCode, QtC)
- In Progress
Gerrit Reviews
For Gerrit Dashboard: QTBUG-119126 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
518274,2 | QQmlDomAstCreator: do not call resourceFilesFromBuildFolders twice | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |