Added several classes that can be used to aggregate all of the
information from within a .qmltypes file as defined by
http://doc.qt.io/qt-5/qtqml-modules-qmldir.html#writing-a-qmltypes-file
Change-Id: Ia36c3bb1a4a0254c4125733d6faabbb5a4606133
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
Added the class QmlASTNodeHandler that creates and manages Proxy
instances of the QML AST node interfaces. The proxies are created
dynamically based on what methods are called on the interface. That
way, the AST is loaded as needed rather than all at once. Added a few
tests to verify behavior (however, they are not comprehensive; there are
a lot more cases that should be verified in the future).
Change-Id: I64038f9668942a67e1f1b7dceac6c7dbed2d46d7
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
Added two new query types to tern-qml: 'parseFile' and 'parseString'
which will return an AST for the given file or string respectively.
Change-Id: I4608866c002d43defb4d462c4a981282ed97e1c6
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
Added functionality to tern-qml that allows it to recognize directory
imports of the form: import "<directory>" [as <Qualifier>]. Content
assist and find definitions also work for these new imports. Moreover,
fixed the QML Scoping to be easier to handle in the future by defining
new Scope Objects specifically for QML. Finally, used JS Hint and
Beautify to have a more uniform coding style between all the files of
acorn-qml and tern-qml.
Also fixed up the HTML Demo to allow editing of multiple files to show
the new imports.
Change-Id: I2cdd18b1b8765400f6b24145f0677127a221fe10
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
Fixed the following issues with QML:
-The parent scope of a QML Object is the file's root Object scope
-Content assist for an Object Property should only display the
immediate Object's properties, not it's parent(s)
-Content assist for an incomplete property binding should display
JavaScript hints as well
Added missing license headers and new tests. Had to modify the
acorn-qml parser plugin in order to make some of the changes. Added
tests for those as well.
Change-Id: I289167cbaacd8088f87dfafc689e67c0110d942f
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
Added a testing framework similar to acorn-qml's for tern-qml and began
adding tests. Updated acorn-qml and tern-qml to use acorn v2.6.4 which
includes the changes to acorn_loose that enable loose parser plugins.
Change-Id: Ib6af4b476321fde4b3f15aac8342764a45985dfa
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>