Commit Graph

26 Commits

Author SHA1 Message Date
Christian Kamm
08cfc8f28c Pass in the whole AST path for scope creation.
Just the declaring member isn't enough.
2010-02-22 10:22:23 +01:00
Christian Kamm
c289897351 Make QmlJS scope building more flexible.
Instead of only maintaining a flat list of scopes, actually store the
global, component chain, root object, scope object, function, id and js
scopes separately.
2010-02-22 10:22:23 +01:00
Christian Kamm
da3679066e Add QmlJS semantic checker.
* Add SemanticHighlighter to QmlJSTextEditor to update the semantic info
  in a background thread.
* Add QmlJS::Check to run semantic checks on qml and js documents.
* Add a check for incorrect property names.
* Fix hoverhandler to show tool tips from extra selections over help
  tooltips.
2010-02-16 10:38:56 +01:00
hjk
a029a6c68a compile fix with namespaces 2010-02-12 11:00:12 +01:00
Christian Kamm
42959f8fef Remove the lookup into including Qml files in the root scope of a JS file. 2010-02-12 10:05:13 +01:00
Christian Kamm
2b1adbf610 Improve building of the Qml/JS scope chain.
* For JS files: Add each Qml component that sources the file in a Script
  tag to the scope chain.
* For Qml components: Add each component that instantiates the component
  to the scope chain.
* Generate the full list of documents required for completion in a
  given file. Previously, files that included the file were missing.
2010-02-11 19:08:33 +01:00
Roberto Raggi
bdf8c94809 Get rid off the friend QmlJS::Link declaration. 2010-02-10 17:06:32 +01:00
Roberto Raggi
56df4e29ce Fixed possible crash when trying to link invalid documents. 2010-02-10 16:24:22 +01:00
Roberto Raggi
0567adbc32 Removed useless qDebug. 2010-02-09 12:16:19 +01:00
Roberto Raggi
3d44c5621d Improved completion of JavaScript expressions. 2010-02-09 11:37:58 +01:00
Christian Kamm
25e04d8ef1 Make QmlJS::Link private. Use Context::build to set up a context. 2010-02-04 10:34:49 +01:00
Christian Kamm
e984691fe6 Fix prototype reference resolution for Qml objects. 2010-02-04 10:34:49 +01:00
Roberto Raggi
fcf81b22ed Get rid of BindPtr.
There is no reason to store the Bind object in a QSharedPointer because the `binder' has the same
lifetime of its document.
2010-02-03 15:59:15 +01:00
Roberto Raggi
976d74ca73 Add support for lazy prototypes.
Done-with: ckamm
2010-02-03 15:42:32 +01:00
Roberto Raggi
1f0b717ad2 Completion for global variables in JS.
* Support for lookup JS vs Qml
* Bind global variables.

Done-with: ckamm
2010-02-03 14:34:06 +01:00
Christian Kamm
49c43aaab1 Get rid of Environment, introduce external ScopeChain in Link.
Done-with: Roberto
2010-02-03 10:59:52 +01:00
Roberto Raggi
ba18e70034 Introduced QML/JS references.
Done with ckamm
2010-02-03 10:24:25 +01:00
Roberto Raggi
95849cb0bd Store bindings and definitions in one single table. 2010-02-03 09:34:28 +01:00
Roberto Raggi
14ffb1e465 Some refactoring needed to create ranges for JavaScript functions. 2010-02-02 16:36:14 +01:00
Christian Kamm
03fa188b41 Bind each QML document after parsing. Link them before use.
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2010-02-02 16:03:43 +01:00
Roberto Raggi
a8bc5a4bb0 Create bindings for the javascript soure elements. 2010-02-01 17:20:46 +01:00
Roberto Raggi
15ae1001f4 Process QML Script elements. 2010-02-01 17:05:07 +01:00
Christian Kamm
1ec6cbd913 Fix for renamed directory imports in the QML code model. 2010-01-29 13:36:41 +01:00
Christian Kamm
a49f313c0c Drop implicit directory imports, implement renamed directory imports. 2010-01-29 13:22:57 +01:00
Christian Kamm
6134f2880a Always return a valid scope from Link. 2010-01-28 15:03:50 +01:00
Christian Kamm
1d39377fb1 Separate bind into bind, link imports and building the scope chain. 2010-01-28 14:53:53 +01:00