Commit Graph

50 Commits

Author SHA1 Message Date
Christian Kamm
8df6dd6d7d QmlJS: Add initial documentation for the base classes of the code model. 2010-09-15 15:26:34 +02:00
Christian Kamm
898098c1f2 QmlJS: Allow lookups on const Contexts. Pass const Contexts where ok.
In preparation for caching Contexts.

Reviewed-by: Erik Verbruggen
2010-08-25 11:53:23 +02:00
Christian Kamm
8519ca11c3 QmlJS: Allow 'follow symbol' to jump to the target of a file import.
Task-number: QTCREATORBUG-1736
2010-07-16 11:17:10 +02:00
Christian Kamm
4ecf0349c5 QmlJS: Make 'follow symbol' work on JS functions.
Task-number: QTCREATORBUG-1757
2010-07-16 10:50:28 +02:00
Christian Kamm
a34676238f QmlJS: Remove unused Bind::currentObjectValue.
The function was not used and made no sense.
2010-06-22 13:36:54 +02:00
Christian Kamm
ea5ca79900 QmlJS: Add ComponentVersion class to simplify dealing with versions. 2010-06-09 14:36:53 +02:00
Christian Kamm
0d5d6344bd QmlJS: Collect import version numbers in Bind. 2010-06-09 14:36:53 +02:00
Christian Kamm
28ec223314 QmlJS: Fix completion for grouped property bindings.
Task-number: QTCREATORBUG-1388
Reviewed-by: Roberto Raggi
2010-05-12 14:11:23 +02:00
Christian Kamm
9af4f2c64f QmlJS: Remove unused function environment from binder.
This used to contain all functions declared in Script blocks. With them
gone, there's no reason to keep it.
2010-04-28 10:01:36 +02:00
Lasse Holmstedt
4d0ac7c77e qml inspector now shows correct categories for custom properties
Also, a class name is added in qmjs::bind so that we have a class name
for custom properties defined inside a component.
2010-04-23 09:58:29 +02:00
Christian Kamm
3096b2a06f QmlJS: Set importing scopes for scripts correctly.
They had not yet been updated to the new way of importing javascript.

Reviewed-by: Erik Verbruggen
2010-04-22 16:36:43 +02:00
Christian Kamm
ce99372c63 QmlJS: Add variables and functions in a JS function to code model.
Allows completion of local variable and function names.

Task-number: QTCREATORBUG-942
Reviewed-by: Roberto Raggi
2010-04-20 15:20:52 +02:00
Christian Kamm
9402fad726 QmlJSEditor: Build Snapshot by looking at imports of parsed files.
Previously we just scanned every directory containing a qml file for
other qml files.

This makes import ".." work.

Reviewed-by: Erik Verbruggen
2010-04-06 09:53:57 +02:00
Christian Kamm
9ea01cf5fb Improve Qml code model import handling.
* Fill the snapshot with files that could be imported.
* Implement package imports.

* The qmldir file is not parsed yet.

Reviewed-by: Erik Verbruggen
2010-03-18 11:25:37 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Christian Kamm
08b9323f0c Fix completion and checking for Script elements. Update Qml type xml.
* The "Script" type is now implicitly available without imports.
* No errors for bindings inside a Connections element.

Reviewed-by: Roberto Raggi
2010-03-03 11:38:17 +01:00
Erik Verbruggen
13d7612f09 Removed private header dependencies and introduced loading QML types from XML file. 2010-03-01 13:13:02 +01:00
Christian Kamm
9245c7bab5 Removed unnecessary includes of qmljslink.h 2010-02-12 10:10:20 +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
967ed09c29 Initial support of `Follow symbol under cursor' for QML/JS. 2010-02-09 11:37:58 +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
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
Christian Kamm
c0506785bf Drop snapshot argument from Bind constructor. 2010-02-02 11:51:10 +01:00
Roberto Raggi
b102690b00 Bind the reachable documents. 2010-02-02 11:48:32 +01:00
Roberto Raggi
6dcc675eb2 Guess the type of a global variable by looking at its initializer. 2010-02-01 17:31:28 +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
Roberto Raggi
4d34ee7385 Removed obsolete code. 2010-02-01 17:05:06 +01:00
Roberto Raggi
0f6551c43f Introduced ASTObjectValue. 2010-02-01 13:54:59 +01:00
Roberto Raggi
0cf48cb45d Introduced ASTFunctionValue. 2010-02-01 13:54:59 +01:00
Roberto Raggi
450ad48fe7 Clean up QmlJS::Bind. 2010-02-01 13:54:59 +01:00
Roberto Raggi
0f031609b1 Cleanup. 2010-02-01 13:54:59 +01:00
Roberto Raggi
6fe1f5b96c Made the error recovering more robust. 2010-01-28 16:29:45 +01:00
Christian Kamm
1d39377fb1 Separate bind into bind, link imports and building the scope chain. 2010-01-28 14:53:53 +01:00
Roberto Raggi
a658ee55f2 Ask the HelpEngine for documentation about builtin QML components.
Done with: Erik
2010-01-27 15:13:30 +01:00
Roberto Raggi
72172ea7d4 Use the Interpreter::Engine::defaultValueForBuiltinType(ty) when processing property definitions. 2010-01-27 11:01:07 +01:00
Roberto Raggi
cac1973a27 Import the types in the declaring namespace object. 2010-01-27 09:23:06 +01:00
Christian Kamm
4f31f0f51f Qml editor: add function declarations to objects or the Script scope.
Enables completion for function declarations inside qml files.
2010-01-26 18:09:30 +01:00
Roberto Raggi
9cdca3a92b Some initial support for relative imports. 2010-01-26 17:23:18 +01:00
Roberto Raggi
5107ba57c2 There's no need to create a namespace object when the importId is invalid. 2010-01-26 16:31:07 +01:00
Roberto Raggi
c1b3f0b120 Coding style. 2010-01-26 16:21:03 +01:00
Roberto Raggi
02ee76b82a Initalize the members of the binder. 2010-01-26 15:51:31 +01:00
Erik Verbruggen
cf35a0249b Implemented the binding phase for QML.
Done-with: Christian Kamm
2010-01-26 15:20:18 +01:00
Roberto Raggi
c943d8e4f1 Renamed classes and files to use the QmlJS prefix. 2010-01-18 16:59:20 +01:00