Commit Graph

196 Commits

Author SHA1 Message Date
Christian Kamm
197c60e928 QmlJS: Add XMLHttpRequest, DB API and JSON completion.
Change-Id: I30773e8879086c1f85d331fabf9380e217b32dd7
Reviewed-on: http://codereview.qt.nokia.com/2745
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-08-09 08:36:35 +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
eda93bde42 QmlJS: Fix type lookup issue.
0c0ffab1bb accidentally always returned
null if the type was not an enum.

Change-Id: Ie16d96e59cefa50c345cddb4a053fd8b60ba3cd6
Reviewed-on: http://codereview.qt.nokia.com/1693
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-07-15 11:22:20 +02:00
Fawzi Mohamed
0c0ffab1bb avoid allocating QmlEnumValues each time
Change-Id: I61f39f5bafcb2c84e91f5bca4b52010a08ed9f37
Reviewed-on: http://codereview.qt.nokia.com/1592
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-07-13 14:59:52 +02:00
Christian Kamm
4285b48455 QmlJS: Dump builtins per Qt version.
Change-Id: I7b5179c4b33c24e83baf0536d158dd48d277637f
Reviewed-on: http://codereview.qt.nokia.com/1305
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-07-11 11:28:38 +02:00
Christian Kamm
eec591ff1c QmlJS: Make 'length' property available on all FunctionValues.
Change-Id: I62bb8f41177521db1f3213d6bd804d8e4852560d
Reviewed-on: http://codereview.qt.nokia.com/1044
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-07-05 11:52:38 +02:00
Christian Kamm
d72ee7c7da QmlJS: Remove deprecated enum functions in QmlObjectValue.
Change-Id: I30c1636f4946f465e5924493e561310f506df3d7
Reviewed-on: http://codereview.qt.nokia.com/1043
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-07-05 11:52:28 +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
9ea0380a4d QmlJS: Enforce Context always being linked.
The default way of creating a Context is through Link.

Change-Id: Ia81f7ce90ba2b33d02eed432a61be836d404bedd
Reviewed-on: http://codereview.qt.nokia.com/1041
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-07-05 11:52:09 +02:00
Christian Kamm
f691d3824a QmlJS: Remove unused methods from Context
Change-Id: I1e4a013ee11f9747d6936c15bf81e971ca4e4f23
Reviewed-on: http://codereview.qt.nokia.com/1040
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-07-05 08:46:39 +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
Christian Kamm
4bf5f4bd94 QmlJS: Respect the REVISION property for methods and properties.
Task-number: QTCREATORBUG-3907
Change-Id: Ic2c1f8cafe381e5216ae7ad73502ca0fae20dda0
Reviewed-on: http://codereview.qt.nokia.com/656
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-06-23 13:39:08 +02:00
Christian Kamm
0f254adcc3 QmlJS: Fix completion of 'anchors.'.
The hasChildInPackage function was broken, so we completed 'anchors:'
instead.

Task-number: QTCREATORBUG-5180
Change-Id: I0e0d68aec3cf4e5bea991e39169beecf541ce477
Reviewed-on: http://codereview.qt.nokia.com/643
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-06-23 11:02:35 +02:00
Christian Kamm
756e00b15f QmlJS: Always generate a onXyzChanged slot.
Even if the NOTIFY signal listed for the property has a different name.

Task-number: QTCREATORBUG-3614
Change-Id: I748cddab89732acd6a56b243610be52873225064
Reviewed-on: http://codereview.qt.nokia.com/637
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-06-23 11:02:18 +02:00
Christian Kamm
fc88340c6c QmlJS: Setup QmlEnumValues even if enum is non-local.
Change-Id: Ib7a3621c14b6dfbdf36c75abac282c08f47e55ca
Reviewed-on: http://codereview.qt.nokia.com/559
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2011-06-22 12:07:06 +02:00
Christian Kamm
d1a83a3e6c QmlJS: Add qsTr and friends to code model.
Change-Id: I9a16549da341500fc273ebbc480d7aa901b17e41
Reviewed-on: http://codereview.qt.nokia.com/548
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-06-21 14:31:57 +02:00
Fawzi Mohamed
752ea43111 Qmljs: find usages for types and packages
detects and finds usages of types and packages in qml and javascript

Change-Id: Id13f48e435258ff10ab3e6f49049f7bb602a900f
Reviewed-on: http://codereview.qt.nokia.com/277
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-06-06 14:08:15 +02:00
Christian Kamm
83072da8b0 QmlJS: Fix potential linking problem.
Don't use plugin from libs/qmljs.

Change-Id: Ia345c567cd1f244ab2191017810ef3eeb91fe0e4
Reviewed-on: http://codereview.qt.nokia.com/213
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-05-30 15:19:06 +02:00
Christian Kamm
88dc2d71fb QmlJS: Import 'as' has precedence over types imported without as.
Change-Id: Iece286c9d1725d2bb1e3eff57cd73af97dd8c748
Reviewed-on: http://codereview.qt.nokia.com/181
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-05-30 11:38:51 +02:00
Christian Kamm
f0a4e7e225 QmlJS: Output qmltypes parse warnings to General messages pane.
Change-Id: I8ca100ef141082c7606bb98f8a2f81502b14e1af
Reviewed-on: http://codereview.qt.nokia.com/204
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-05-30 11:32:23 +02:00
Christian Kamm
cf7663b2de QmlJS: Read the 'revision' property generated by qmldump.
Change-Id: Ia31b1845b1e1e5aabc347dc115e580c72e36f4e3
Reviewed-on: http://codereview.qt.nokia.com/200
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-05-30 09:31:37 +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
8a8b371ecc QmlJS: Initialize error state in PrototypeIterator.
Change-Id: I231b847607d0558080d0dc0b6392bae5b833d65a
Reviewed-on: http://codereview.qt.nokia.com/107
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-05-25 11:51:05 +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
Christian Kamm
0bf18d008b QmlJS: Find prototype resolution errors.
To avoid lots of follow-up errors where the root cause is a failed
prototype resolution or a prototype cycle.

Task-number: QTCREATORBUG-4952
Change-Id: Id474c8c6c152c993aca8c6c421b6d88eb1481676
Reviewed-on: http://codereview.qt.nokia.com/36
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2011-05-20 13:33:18 +02:00
Christian Kamm
cf15e14e5e QmlJS: Add tooltips to imports.
Task-number: QTCREATORBUG-4814
2011-05-12 15:29:41 +02:00
Christian Kamm
d72bddc7da QmlJS: Update to new QmlJS parser.
UiPublicMember is now initialized with a statement.
2011-05-12 13:39:53 +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
Pawel Polanski
d9775a4159 Compilation fix 2011-05-04 12:13:03 +02:00
Christian Kamm
02b7eacf4b QmlJS: Fix type detection for alias properties.
Task-number: QTCREATORBUG-2306
2011-05-04 11:14:35 +02:00
Christian Kamm
a03de5f717 QmlJS: Disable unhelpful warning. 2011-04-26 14:44:53 +02:00
Christian Kamm
e21311132b QmlJS: Fix library-by-path imports.
Fixes the problem 5426c3ac2c and
7b25f438c6 worked around.

Reviewed-by: Erik Verbruggen
2011-04-21 11:16:14 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
Kai Koehne
3e07024e10 QmlJS: Don't warn user about imports if static info is available
Don't underline the import if a qmldump fails,
but the typeinfo is available via a .qmltypes file. That should allow
users to 'fix' qmldump issues by shipping a .qmltypes file.

Reviewed-by: Erik Verbruggen
2011-04-12 11:27:17 +02:00
Christian Kamm
106513223d QmlJS: Fix infinite loop for objects that are attached to themselves. 2011-03-11 10:19:45 +01:00
Christian Kamm
b980a9b964 QmlJS: Fix implicit "." import when . has a QML module.
Reviewed-by: Erik Verbruggen
2011-03-10 15:03:36 +01: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
Christian Kamm
187ae1e94a QmlJS: Rework FakeMetaObjects to no longer contain pointers.
Having a duplicate prototype chain - once in FakeMetaObjects and once
in QmlObjectValues was unnecessary. Now FMOs don't contain references
which may allow other simplifications.
2011-02-10 17:04:22 +01:00
Christian Kamm
660ae9b28d QmlJS: Update list of Qt object members.
That means createComponent etc. will now be completed.
2011-02-10 11:41:51 +01:00
Christian Kamm
55520a3804 QmlJS: Simplify loading types defined in C++. 2011-02-09 13:40:09 +01:00
Christian Kamm
85444451d9 QmlJS: Use / in fully qualified names to separate package and classname. 2011-02-09 10:42:49 +01:00
Christian Kamm
4fc2032e10 QmlJS: Put types with cpp names into a separate package.
In preparation of relocatable plugin types.
2011-02-09 10:42:49 +01:00
Christian Kamm
2ec429e8ce QmlJS: Switch to new format for QML meta data. 2011-02-09 10:42:49 +01:00
Christian Kamm
dd1de1b82f qmldump: Make Creator able to read qmldump's new output.
Task-number: QTCREATORBUG-3048
2011-02-09 10:42:48 +01:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
Christian Kamm
d3c1dd6a09 C++/Qml: Don't allow exported types to override builtins.
There was trouble when a plugin qmlRegisterType'd something like 'Item'
into the global default module.

Reviewed-by: Roberto Raggi
2011-01-10 14:40:40 +01:00