Christian Kamm
7ed717ca62
QmlJS: Add more value_casts.
...
And switch all existing dynamic_casts to value_casts.
Change-Id: I93b89358e4802080f40b332074c64f4e91a2bc4c
Reviewed-on: http://codereview.qt-project.org/6311
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com >
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com >
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com >
2011-10-12 10:55:55 +02:00
Christian Kamm
572b3a180b
QmlJS: Compile fix.
...
Change-Id: Ie7d49f1dd54cd8316d660bc8ae6857dc2effc963
Reviewed-on: http://codereview.qt-project.org/6504
Sanity-Review: Christian Kamm <christian.d.kamm@nokia.com >
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com >
2011-10-12 10:55:37 +02:00
Christian Kamm
90925c69f6
QmlJS: Rename QmlObjectValue -> CppComponentValue.
...
Reviewed-by: Fawzi Mohamed
Reviewed-by: Thomas Hartmann
Change-Id: Ib89388d5a5678403e4637eec5829f3520637ee27
Reviewed-on: http://codereview.qt-project.org/6310
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com >
Sanity-Review: Christian Kamm <christian.d.kamm@nokia.com >
2011-10-12 10:52:56 +02:00
Christian Kamm
010ce2d20d
QmlJS: Set correct scope in signal handlers.
...
This means the code model will now offer correct completion and
highlighting for arguments of signals in their handlers, example:
MouseArea {
onClicked: {
mou<complete> // now also completes 'mouse'
}
}
Reviewed-by: Fawzi Mohamed
Change-Id: I01838ef00e391b13e6e5a832c9ec3cd983689c5b
Reviewed-on: http://codereview.qt-project.org/6147
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com >
Sanity-Review: Christian Kamm <christian.d.kamm@nokia.com >
2011-10-12 10:29:27 +02:00
Christian Kamm
a7f78991c9
QmlJS: Move commonly used functions to qmlutils.h.
...
Change-Id: I22376d96fe575bc00a55094c06af80e32a5587e6
Reviewed-on: http://codereview.qt-project.org/6238
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com >
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com >
2011-10-10 09:36:12 +02:00
Christian Kamm
8faafc2f0c
QmlJS: Fix saving and restoring QML scope objects.
...
Change-Id: I621d7c3dbc8d5613b5d9ffddd08acd582559990b
Reviewed-on: http://codereview.qt-project.org/5720
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com >
2011-09-28 15:29:05 +02:00
Christian Kamm
6c925cf0fc
QmlJS: Rework exported C++ type registry.
...
The problem was that if you exported
A 1.0, A 1.1 and B 1.0 where A is the prototype of B
the code model had not enough information to know that, depending
on the import, B 1.0's prototype should be A 1.1 or A 1.0.
To solve this problem QmlObjectValues now store the import's version
as well as the local component version. In the example above B 1.0
would have import version 1.1 if the 1.1 module was imported and thus
be able to choose the right prototype.
Change-Id: I7ef33f12ca5a528c62b2a8240f4b5720b0ebd4c3
Reviewed-on: http://codereview.qt-project.org/5129
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com >
2011-09-19 13:52:26 +02:00
Christian Kamm
4b2f42cf87
QmlJS: Adjust existing code for updated QML parser.
...
Change-Id: I153723eeb9973be025daf47e317f7b9d076a3c72
Reviewed-on: http://codereview.qt-project.org/4733
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com >
2011-09-14 11:48:22 +02:00
Christian Kamm
0e54183d4d
QmlJS: Remove Interpreter namespace.
...
The distinction between QmlJS and QmlJS::Interpreter has always been
weak and the extra namespace just added an unnecessary complication.
Change-Id: I4db8ef4bd91b5f6bf610a9d23fdbf55bd60250fc
Reviewed-on: http://codereview.qt.nokia.com/2743
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com >
2011-08-08 13:21:28 +02:00
Christian Kamm
9dc9674c6b
QmlJS: Share Context.
...
Previously Context was not entirely thread safe and had to be
copied locally. Now it is thread safe and its lifetime
managed by QSharedPointer.
The non-safe parts were moved into ScopeChain in a previous commit.
Change-Id: I851a93de85cbd6391dbea0fe33b011e2e093addb
Reviewed-on: http://codereview.qt.nokia.com/1695
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com >
2011-08-08 12:05:19 +02:00
Christian Kamm
f87dc61986
QmlJS: Split Context and ScopeChain.
...
Context is created by Link and has information about imports
for all Documents in a Snapshot.
ScopeChain represents how lookup is done at a specific place in
a Document.
Change-Id: I874102d57bbaf1a497fa3f27633bed6ee75dcf10
Reviewed-on: http://codereview.qt.nokia.com/1694
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com >
2011-08-08 12:05:03 +02:00
Christian Kamm
36ed6bce1d
QmlJS: Move Context to its own file.
...
Change-Id: I91331b7039e27e2f57cc19b985c8ed86c955ec9e
Reviewed-on: http://codereview.qt.nokia.com/1042
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com >
2011-07-05 11:52:20 +02:00
Christian Kamm
8b778b266b
QmlJS: Rename Interpreter::Engine -> ValueOwner
...
Also move to a separate file.
Change-Id: I05910e8cf04a533b5d09a1c16e612e3b99b1d606
Reviewed-on: http://codereview.qt.nokia.com/1039
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com >
2011-07-05 08:44:16 +02:00
Fawzi Mohamed
fe564852ad
Qmljs: added scope for blocks in UiScriptBindings and UiPublicMember
...
correctly insert the scope for code blocks in UiScriptBindings and
UiPublicMember, and improve find usages for types (correctly detecting
variables in the same scope)
Change-Id: Iaaf1a59f041f3831fbe04243b220fb85fde76479
Reviewed-on: http://codereview.qt.nokia.com/335
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com >
2011-06-07 13:04:21 +02:00
Christian Kamm
a7f4e5fab5
QmlJS: Separate imported types and imported JS scopes.
...
Task-number: QTCREATORBUG-4981
Change-Id: I06d3e428ca4928296a3d5977aeff29fc3217c37c
Reviewed-on: http://codereview.qt.nokia.com/175
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com >
2011-05-27 11:48:53 +02:00
Christian Kamm
d67b7d17dc
QmlJS: Refactor ObjectValue members.
...
* property -> lookupMember
* setProperty -> setMember
* removeProperty -> removeMember
Change-Id: I638479ee2b90b684283e714630bdcab237f6b3f2
Done-with: Fawzi Mohamed
Reviewed-on: http://codereview.qt.nokia.com/77
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com >
2011-05-24 11:55:03 +02:00
Tobias Hunger
aa2acec14c
Fix/add copyright headers
...
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
Christian Kamm
d05992d0fa
QmlJS: Stop doing significant work in constructors.
...
To avoid order-of-initialization problems.
Reviewed-by: Thomas Hartmann
2011-05-06 13:48:55 +02:00
Christian Kamm
02b7eacf4b
QmlJS: Fix type detection for alias properties.
...
Task-number: QTCREATORBUG-2306
2011-05-04 11:14:35 +02:00
hjk
8397663964
Update license.
2011-04-13 11:49:28 +02:00
Christian Kamm
1d4cd9b7f2
QmlJS: Remove the strict separation of types and attached types.
...
The problem was that several lookup calls suddenly failed because
the actual QML types were no longer in the default scope chain. However,
the QML documentation says the type names are in the scope.
Also, 'MyComponent.' in a JS-expression context only showed the attached
properties of MyComponent and missed the enums.
With this change completion now may offers too many options, but that's
better than missing some.
This reverts parts of 490f2797f6
Reviewed-by: Leandro Melo
2011-02-21 15:05:04 +01:00
Christian Kamm
490f2797f6
QmlJS: Completion for attached properties.
2011-02-10 17:04:22 +01:00
con
d1023c7614
It's 2011 now.
...
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
con
b1bcf081d8
Merge branch '2.1'
...
Conflicts:
src/plugins/coreplugin/basemode.cpp
src/plugins/coreplugin/basemode.h
src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.cpp
src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.h
src/plugins/debugger/cdb/cdbsymbolpathlisteditor.cpp
src/plugins/debugger/debuggeragents.cpp
src/plugins/debugger/debuggeruiswitcher.cpp
src/plugins/debugger/debuggeruiswitcher.h
src/plugins/projectexplorer/buildconfigdialog.cpp
src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp
src/plugins/qmldesigner/components/propertyeditor/colorwidget.h
src/plugins/qmldesigner/designercore/include/enumeratormetainfo.h
src/plugins/qmldesigner/designercore/include/modelutilities.h
src/plugins/qmldesigner/designercore/include/nodeinstance.h
src/plugins/qmldesigner/designercore/include/propertymetainfo.h
src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.cpp
src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.h
src/plugins/qmldesigner/designercore/instances/graphicsviewnodeinstance.cpp
src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.cpp
src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.h
src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp
src/plugins/qmldesigner/designercore/instances/qmlviewnodeinstance.cpp
src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.cpp
src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.h
src/plugins/qmldesigner/designercore/metainfo/enumeratormetainfo.cpp
src/plugins/qmldesigner/designercore/metainfo/propertymetainfo.cpp
src/plugins/qmldesigner/designercore/model/modelutilities.cpp
src/plugins/snippets/inputwidget.cpp
src/plugins/snippets/snippetscompletion.cpp
src/plugins/snippets/snippetscompletion.h
src/plugins/snippets/snippetspec.cpp
src/plugins/snippets/snippetsplugin.cpp
src/plugins/snippets/snippetswindow.cpp
src/plugins/snippets/snippetswindow.h
src/plugins/texteditor/snippetsparser.cpp
src/tools/qml/qmldom/main.cpp
tests/manual/trk/runner.cpp
tests/manual/trk/trkolddevice.cpp
tests/manual/trk/trkolddevice.h
tests/manual/trk/trkserver.cpp
2010-12-17 17:00:53 +01:00
con
04e32b0049
License headers.
2010-12-17 16:03:42 +01:00
Christian Kamm
05831a8ea5
QmlJS: Fix binding and scoping function expressions.
...
Reviewed-by: Erik Verbruggen
2010-11-25 15:06:44 +01:00
Christian Kamm
34093064fe
QmlJS: Make evaluator understand expression statements.
...
Reviewed-by: Erik Verbruggen
2010-11-25 15:06:44 +01:00
Christian Kamm
93967104f3
QmlJS: Reactivate instantiating component scope detection.
...
* Bind::usesQmlPrototype is now significantly more performant
* type environments are no longer hashed by filename, but rather
by Document *
* duplicate scope builds are avoided
Task-number: QTCREATORBUG-2835
Reviewed-by: Erik Verbruggen
2010-11-25 15:06:44 +01:00
Christian Kamm
f7a077b1fa
QmlJS: Avoid infinite loop with recursive prototypes.
2010-11-15 10:36:22 +01:00
Christian Kamm
a2824be292
QmlJS: Fix false-positive errors reported for ListElement, Connections.
...
Task-number: QTCREATORBUG-2802
Reviewed-by: Roberto Raggi
2010-10-20 11:07:22 +02:00
Christian Kamm
a30c016189
QmlJS: Fix several crashes when UiQualifiedId::name is 0.
...
Task-number: QTCREATORBUG-2737
Reviewed-by: Kai Koehne
2010-10-14 15:15:56 +02:00
Christian Kamm
c502c6e818
QmlJS: Fix an instance of relying on the Qt package name.
...
Reviewed-by: Thomas Hartmann
2010-10-01 13:52:55 +02:00
Christian Kamm
3f505e9982
QmlJS: Add initial 'Find Usages' support.
2010-09-24 14:11:06 +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
6ee1027eaa
Add missing license headers.
2010-07-09 15:47:25 +02:00
Christian Kamm
62141475e3
QmlJS: Potentially fix hard-to-reproduce crash in JS completion.
...
* Context::build was potentially dangerous. Link and ScopeBuilder
went out of scope before their results stopped being used.
* ScopeBuilder: If no function scope object was found, don't add it.
Reviewed-by: Erik Verbruggen
2010-05-19 14:23:08 +02:00
Christian Kamm
088bdb29db
QmlJS: Provide good completion for PropertyChanges with a target again.
...
Task-number: QTCREATORBUG-1413
Reviewed-by: Erik Verbruggen
2010-05-19 11:15:57 +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
3286f48504
QmlJS: Remove Link::scopeChainAt, initialize scope chain in constructor.
...
Use ScopeBuilder.push(...) for the same functionality.
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
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
Erik Verbruggen
912a1b95a9
Fixed crash when putting a second root item into a QML file.
2010-02-25 12:57:17 +01:00
Christian Kamm
b1522ba5c8
Fix semantic checks not being applied to the Qml root object.
...
By always setting the scope object, even if it is identical to the root
object.
Done-with: Erik Verbruggen
2010-02-23 12:36:48 +01:00
Christian Kamm
e9039db984
Move the scope building logic into QmlJS::ScopeBuilder.
2010-02-22 10:22:23 +01:00