Commit Graph

49 Commits

Author SHA1 Message Date
Christian Kamm
a51120b7db QmlJS: Documentation.
Change-Id: I2a095e38b7d79a5fb39a16d8f32b48c8e28132f6
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@nokia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-11-07 15:16:59 +01:00
Christian Kamm
0b75a66407 QmlJS: Support module apis defined by QML modules.
Change-Id: I18ec9daf8088f7db5ff2da11da14b539f501bab3
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-21 08:21:00 +02:00
Christian Kamm
4565c12f2b QmlJS: Improve tests/tools/qml-ast2dot.
Change-Id: Ifd06745ec823d09ae7b42318d418fa1adb01824b
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-10-20 11:04:03 +02:00
Christian Kamm
b5a92a1957 Json: Use the javascript editor for json files.
Task-number: QTCREATORBUG-4639
Change-Id: Icd0fda434d5ca66056d784dd87240db76e8a442c
Reviewed-on: http://codereview.qt-project.org/6035
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-12 11:34:36 +02:00
Christian Kamm
0df9c1fa1b QmlJS: Use new Lexer::scanDirectives.
Change-Id: Id9f4cd6a53dc0d3f4cf0a0b3c846eca0e48372fc
Reviewed-on: http://codereview.qt-project.org/5144
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-09-19 14:18:30 +02:00
Christian Kamm
f8462cca65 QmlJS: Change from QMap to QHash for QString keys.
Tests indicate that lookup in QHash<QString, ...> is more performant
even for short strings.

Change-Id: I8e5a73d0f1a72e202522f397b16901887f9c3591
Reviewed-on: http://codereview.qt-project.org/5070
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-09-19 09:09:28 +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
903c6b60cd QmlJS: Use mime types to distinguish qml and js files.
This allows adding patterns to the qml mime type in the options dialog.
Previously they were always parsed as js.

Change-Id: Ifa344fb6ab8cbcda02becef991cf6807615a1caa
Reviewed-on: http://codereview.qt-project.org/4515
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-09-12 10:45:53 +02:00
Christian Kamm
bfc95befa8 QmlJS: Honor typeinfo lines in qmldir files.
Change-Id: I1ddad1eb031bc4b95671be4a474b5e8e72f6e350
Reviewed-on: http://codereview.qt-project.org/4137
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-09-08 12:34:32 +02:00
Christian Kamm
f725c24c56 QmlJS: Fix semantic and non-semantic QML error reporting.
The QML snapshot only ever contains valid Documents; to compile a list
of parser problems we need to get at the invalid documents.

To do that, the model manager now provides a Snapshot with up to date,
but potentially invalid documents. That should also be useful for other
things.

Change-Id: I67892f63771c221bf2fe2c2bf0240a0f4e523227
Reviewed-on: http://codereview.qt.nokia.com/3012
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-08-18 17:11:59 +02:00
Christian Kamm
8742026380 QmlJS: Allow for QML modules with version subdirectories.
That means
import Foo 2.1
can resolve to
/path/Foo.2.1 or
/path/Foo.2 or
/path/Foo

Task-number: QTCREATORBUG-4607
Change-Id: Ie1efc5be2ca2ed3ccc130e8a662f94aed11bec1a
Reviewed-on: http://codereview.qt.nokia.com/194
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-05-30 08:25:19 +02:00
Christian Kamm
cf15e14e5e QmlJS: Add tooltips to imports.
Task-number: QTCREATORBUG-4814
2011-05-12 15:29:41 +02:00
Tobias Hunger
aa2acec14c Fix/add copyright headers
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +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
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
Christian Kamm
ab642bc820 QmlJS: Add refcounting to FakeMetaObjects.
Previously they were leaked when a qmldump or the C++ exported QML
type list updated.

Just deleting the previous FakeMetaObjects is not an option, as they
might still be used in a QmlObjectValue owned by an Engine.

Reviewed-by: Erik Verbruggen
2011-01-06 15:01:09 +01:00
Christian Kamm
5de7be5f91 LanguageUtils: Add FakeMetaObject and ComponentVersion. 2011-01-04 15:58:21 +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
5dd92328fb QmlJS: Improve error reporting for failed plugin dumps.
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
ef96363560 QmlJS: Fix plugin dumpers running all the time if dump fails.
Task-number: QTCREATORBUG-2733
Reviewed-by: Kai Koehne
2010-10-14 15:15:44 +02:00
hjk
7504887377 compilation fix with namespaces 2010-09-23 15:41:20 +02:00
Christian Kamm
2e8ec2f9e6 QmlJS: Fix performance problem in Snapshot.
Don't use QMultiHash::values(key), it rebuilds the values list from
scratch for each lookup.

Reviewed-by: Roberto Raggi
2010-08-31 10:25:02 +02:00
Roberto Raggi
ef5aaa0368 Renamed QmlJS::Document::documentRevision(). 2010-07-07 17:52:46 +02:00
Christian Kamm
24d0f694d1 QmlJS: Remove unused functions from Snapshot.
Reviewed-by: Erik Verbruggen
2010-06-21 13:03:30 +02:00
con
458a25efa9 Merge remote branch 'origin/2.0'
Conflicts:
	doc/qt-html-templates.qdocconf
	src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
	src/plugins/qmljseditor/qmljscodecompletion.cpp
2010-06-18 16:54:37 +02:00
Christian Kamm
b7cb1feb4b QmlJS: Ignore .pragma library for now.
Task-number: QTCREATORBUG-1421
Reviewed-by: Erik Verbruggen
2010-06-15 14:50:16 +02:00
Christian Kamm
e307bc2506 QmlJS: Store plugin metatypes in LibraryInfo. Rework type loading. 2010-06-09 14:36:54 +02:00
Erik Verbruggen
ef66bc98e2 Fixed QTCREATORBUG-1397.
When adding a new file, refreshing semantic errors in the open editor should
have worked. It now also works for removing existing files.

Done-with: Christian Kamm
2010-05-19 14:46:08 +02:00
Erik Verbruggen
eb9e7866f2 Fixed QTCREATORBUG-1397.
When adding a new file, refreshing semantic errors in the open editor should
have worked. It now also works for removing existing files.

Done-with: Christian Kamm
2010-05-18 15:29:11 +02:00
Christian Kamm
8d70ab27dc QmlJS: Clean paths in the Snapshot.
To solve import resolution issues on windows.

Reviewed-by: Roberto Raggi
2010-04-01 15:21:30 +02:00
Christian Kamm
49416fe888 QmlJS: Add a path->document list hash to Snapshot.
Also change the filename->document map to a hash.

Reviewed-by: Roberto Raggi
2010-04-01 11:28:56 +02:00
Roberto Raggi
4ee8a199af Introduced Document::isQmlDocument() and Document::isJSDocument(). 2010-03-29 12:56:25 +02:00
Christian Kamm
6eadfa3ac0 Read qmldir files in a thread and cache them in Snapshot.
Reviewed-by: Erik Verbruggen
2010-03-18 16:47:21 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +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
Roberto Raggi
7a65191306 Moved the code in the source file. 2010-02-11 10:19:41 +01:00
Roberto Raggi
3d44c5621d Improved completion of JavaScript expressions. 2010-02-09 11:37:58 +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
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
39c2575ab3 Removed obsolete code
Done with: Erik
2010-01-27 14:37:24 +01:00
Roberto Raggi
9cdca3a92b Some initial support for relative imports. 2010-01-26 17:23:18 +01:00
Roberto Raggi
ab8c19f2f8 Some initial work on the type checker for QML/JS. 2010-01-26 14:55:33 +01:00
Roberto Raggi
c9efafcb98 Introduced ranges and versioning of QML/JS documents. 2010-01-25 14:18:53 +01:00
Roberto Raggi
ba3e68fcbb Try to get the type of the qualified name id under cursor 2010-01-22 10:26:52 +01:00
Christian Kamm
419bc3005e Add QmlJS::Document::ast() for when the type of the AST doesn't matter.
Ideally most of our visitors won't need to make the QML vs JS
distinction. For these cases it'll be handy to be able to access the AST
no matter whether it's a Program or UiProgram.
2010-01-19 10:16:57 +01:00
Roberto Raggi
c943d8e4f1 Renamed classes and files to use the QmlJS prefix. 2010-01-18 16:59:20 +01:00