Review Request 117886: Recognize components, properties, signals, slots and methods in plugin.qmltypes files
Denis Steckelmacher
steckdenis at yahoo.fr
Thu May 1 18:08:39 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/117886/
-----------------------------------------------------------
(Updated May 1, 2014, 6:08 p.m.)
Status
------
This change has been marked as submitted.
Review request for KDevelop.
Repository: kdev-qmljs
Description
-------
Sorry for the size of this patch, but most of the things added in this patch are needed in order for it to be unit-testable. This patch adds the following:
* A method that takes a QML type name ("int", "float", "bool" or any class name like "QObject") and returns the corresponding IntegralType, StructureType or DelayedType
* Support for plugin.qmltypes files that declare QML components and their properties, methods, signals and slots (methods, signals and slots have their argument types recognized)
* A new test file
This screenshot (http://steckdenis.be/static/images/kdev-js-qml-types.png) shows what KDevelop displays when I put my cursor on "Component". The component is correctly declared (using its name and its prototype), and its use is correctly detected (though this detection will come in a future patch). "Component" is highlighted instead of "name: "QAbstractItemModel"" because highlighting string literals was not pretty at all.
A future patch will add support for enumerations, then I will need to figure out how to correctly put all these declarations in the correct namespaces (each component comes with the domain name of the package in which it has to be registered).
Diffs
-----
duchain/declarationbuilder.h 2f7affc
duchain/declarationbuilder.cpp 9fc2e6c
tests/files/plugins.qml PRE-CREATION
Diff: https://git.reviewboard.kde.org/r/117886/diff/
Testing
-------
I've added a testsuite for this patch, and it passes, even though it is quite minimal because there are still many things to do :-) .
Thanks,
Denis Steckelmacher
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20140501/8711d7ed/attachment.html>
More information about the KDevelop-devel
mailing list