aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmllint
Commit message (Collapse)AuthorAgeFilesLines
* qmllint: Fix compiler warningJarkko Koivikko2019-08-191-2/+2
| | | | | | | | findunqualified.cpp(776) : warning C4172: returning address of local variable or temporary: dbg Change-Id: Ifce7ccdcce9ed629a2a9dd4759620d02804812b7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmllint: do not warn about the identifier of a catch statementFabian Kosmale2019-08-191-1/+2
| | | | | Change-Id: I2e679fe4fbebff7d8252da6ea69aed3cc9ffab41 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmllint: Fail on recursion depth errorsUlf Hermann2019-08-192-1/+7
| | | | | | Change-Id: I815f82ed8c005ed83ceecff6ce80106a9ad9b21d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* linter: Cover all supported JavaScript functionsFabian Kosmale2019-07-261-12/+13
| | | | | | | + qDebug/commented out code cleanup Change-Id: Id6a4410391eed2fbf6ff0dd7aaffa1de4d5b892c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmllint: Improve parent handlingFabian Kosmale2019-07-264-15/+19
| | | | | | | | | | | | | | | | | | - Do not warn about parent access in unknown components This avoids false positive warnings when an imported component could not be found (or when it actually was not imported). We still warn about the component which could not be found, so the user is still informed that something is not right. We also still emit a warning when we know the properties of a component, and parent is not one of them. - Do not recommend the use of parent to address the root components properties. For this to work, we would need to know whether the root component reparents its children or not. Moreover, id lookups are actually faster than parent lookups. Change-Id: I83d0e71e4bf20d34a3e6d836c2b123b2bf0d416e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmllint: Improve signal handler recommendationsFabian Kosmale2019-07-253-9/+25
| | | | | | | | | | | - Fix the case where multiple unqualified accesses would be mapped to the same signal (wrong in all but one cases), as the event parameter has the same name and we were using a QHash. Fixed by using QMultiHash and searching for the matching signal handler (by location) - Recommend arrow functions for single line event handlers Change-Id: I3cbb85fe0e49b454908ca03b4c86318ef02e364c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Extend linter to check for unqualified idsFabian Kosmale2019-07-1214-4/+3606
| | | | | | | | | | | | | | | | | | | | The linter has gained a new option (-U/--check-unqualified). If run with this option, it warns about occurrences of unqualified identifiers. Furthermore, it attempts to detect the reason for why the identifier can be used unqalified: - If the id originates from the root element, it suggests to qualify the access either with the root element's id, or with "parent" if applicable. - If the id is the parameter of a signal, it suggests to use functions in the handler, instead of relying on the signal parameters to be "magically" injected into scope. The linter does not attempt to handle with statements, but warns the user instead that they are a bad idea. Change-Id: I9aaf28c37595d84886a1071d49b86799b222a617 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Simplify errors and diagnosticsUlf Hermann2019-06-141-1/+1
| | | | | | | | | | | | | | | | We only need two classes to describe all possible diagnostics: * A low-level private POD DiagnosticMessage. This is easily copied and passed around internally. It doesn't need to adhere to a stable API and it doesn't carry any extra baggage. * The high-level public QQmlError with its stable interface. This can internally also use a DiagnosticMessage as storage. Change-Id: I52be88d9b5d9855a661b8032b01eedb43a0fb0b3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Split QV4::Value into a static and a dynamic partUlf Hermann2019-05-311-1/+1
| | | | | | | | The static part can be used for compilation and won't resolve managed objects. This allows us to remove all the remaining V4_BOOTSTRAP. Change-Id: Id2f6feb64c48beb2a407697881aea8c0d791a532 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Adjust QMAKE_TARGET_PRODUCT, QMAKE_TARGET_DESCRIPTIONKai Koehne2017-07-281-2/+1
| | | | | | | | | | The product should be Qt5 (the default). The QMAKE_TARGET_DESCRIPTION is actually less than a description but a beautified name, that is shown e.g. in the task manager, crash reporting tool etc. Make it title case, like most Windows applications do. Change-Id: I570aee2c2016e78fdb7a93c2d7a66b70fdcb0cff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove custom setting of qmake VERSION field in toolsKai Koehne2017-07-281-6/+0
| | | | | | | | qt_tool.prf sets the VERSION to MODULE_VERSION by default. Also, qmake automatically makes it a quadruple for the .rc file metadata. Change-Id: Ie2d0f2022c4416ce824a6786eef4a8c461ed70f1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-241-0/+9
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4ssa.cpp src/quick/accessible/qaccessiblequickview_p.h src/quick/items/qquickmousearea.cpp src/quick/util/qquickanimatorjob.cpp tools/qmlplugindump/main.cpp Change-Id: I84474cf39895b9b757403971d2e9196e8c9d1809
| * Tools: Add product name, version and description to the .pro filesFriedemann Kleint2017-01-311-0/+9
| | | | | | | | | | | | | | | | This information will then be visible in Windows explorer. Change-Id: I9d2f936584308394b4e3246d57bed44083b3cbca Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-261-0/+11
|\| | | | | | | | | | | | | | | Conflicts: src/quick/util/qquickutilmodule.cpp tools/qmllint/main.cpp Change-Id: Ic2283f88c293ca7fc776de3e83eb4c7812309d8a
| * Fix build without features.commandlineparserTasuku Suzuki2017-01-251-0/+10
| | | | | | | | | | Change-Id: I3a23e53fc647f5257593e0aece7198eea430cf14 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | tools: replace 'foreach' with 'range for'Anton Kudryavtsev2016-08-221-4/+5
|/ | | | | | | | Catch rvalues to prevent detach()'ing. Change-Id: I7be159a405c994429c0eee10805bfe96fcf4c806 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Updated license headersJani Heikkinen2016-01-201-17/+12
| | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I04760a0801837cfc516d1c7c02d4f503f6bb70b6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-041-5/+1
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4engine_p.h src/quick/items/qquickitemsmodule.cpp src/quick/items/qquicktext.cpp src/quick/util/qquickpixmapcache.cpp tests/auto/quick/qquickwindow/tst_qquickwindow.cpp Change-Id: I90ecaad6a4bfaa4f36149a7463f4d7141f4a516a
| * qmllint: Fix parsing js files with .import directivesSérgio Martins2015-05-091-5/+1
| | | | | | | | | | | | | | | | | | For .pragmas we removed them explicitly but the correct fix is to not use "qmlMode" when setting code in the lexer. Change-Id: I6ffc0ca9e7ebab09fbf91e647d292ff0a3a1fd7d Task-number: QTBUG-45916 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Get rid of qv4value_inl_p.h and replace it by qv4typedvalue_p.hLars Knoll2015-04-241-1/+1
|/ | | | | | | | This is a cleaner separation and further reduces include dependencies in the definitions of our basic data structured. Change-Id: I18aa86cdea0c0dfbc16075d4d617af97e638811e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-121-6/+6
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
* Update license headers and add new licensesJani Heikkinen2014-08-251-18/+10
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Introducing qmllint tool.Sérgio Martins2014-08-052-0/+120
A command line program that returns 0 if a .qml file is syntactically correct. Ideal to integrate into continuous integration systems. [ChangeLog][QtQml] Added QML linter tool. Change-Id: Id420159298e9d2390acd870fee9cf1c3d08e2dec Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>