Commit Graph

972 Commits

Author SHA1 Message Date
Christian Kamm
386fc347d7 QmlJS: Make Document::Ptr point to a const Document.
Change-Id: I15a36c3f918c0ee16f30bc8366df505e0afac949
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-11-08 09:05:12 +01:00
Christian Kamm
64cddc8857 QmlJS: Fixed attached objects.
Task-number: QTCREATORBUG-6450
Change-Id: Idd8e2ec3550190a137dbf0fe452c8488fb3fe1ad
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-11-07 15:19:01 +01:00
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
de6ea6c3b9 QmlJS: Handle inner ids in 'Wrap in Loader' quick fix.
Change-Id: I7385f49928db78abd2deb7783ca0a38288ae7446
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-11-04 14:13:17 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
Eike Ziller
912cd548c0 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/libs/qmljs/qmljsinterpreter.cpp
	src/libs/qmljs/qmljsinterpreter.h
	src/plugins/madde/maemopackagecreationstep.cpp
	src/plugins/projectexplorer/buildmanager.cpp
	src/plugins/qmljstools/qmljsqtstylecodeformatter.cpp
	src/plugins/qmljstools/qmljsqtstylecodeformatter.h
	tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp

Change-Id: I63ab2ba5dac006c37ccfbae55b023396a4676ff7
2011-11-01 18:16:38 +01:00
Christian Kamm
e733cb2155 QmlJS checks: Add @enable-all-checks annotation.
It enables all checks, even those that we deem to annoying to be
enabled by default.

Also fix a bug where some disabled checks had the wrong severity.

Change-Id: Id434ad62dabafac979ee2304a85d368b9ea98fa4
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-31 09:38:03 +01:00
Christian Kamm
5ac449a708 QmlJS checks: Change suppression annotation to @disable-check.
Change-Id: I913cd757c4f8339a518c947569c5ba651153f1c1
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-31 09:37:57 +01:00
Christian Kamm
4521be25cd QmlJS: Avoid an infinite loop if a qmltypes file has a cycle.
The qmltypes files shipped with libraries shouldn't, but could define
components that form a prototype cycle. Use of the new
QmlObjectValue::prototypes() function avoids the code model getting
stuck in an infinite loop for these cases.

For plain ObjectValues this is already solved by using
PrototypeIterator.

Change-Id: I0f562672ab99b454bc3a0121c7a1b9eca43476bb
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-31 09:37:46 +01:00
Christian Kamm
a9553c494e QmlJS indenter: Never touch indent of multi-line strings.
Task-number: QTCREATORBUG-6368
Change-Id: Iae68427e429e625214bc0729aaaf313dc3371570
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-31 09:37:17 +01:00
Christian Kamm
c8fc9b33ae QmlJS: Clean up idOfObject() and folding text code.
Change-Id: Id3e9d24689c67ce0e12b12b82636177a0344ede1
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-28 15:49:38 +02:00
Eike Ziller
81cce8902e Merge remote-tracking branch 'origin/2.4'
Conflicts:
	qtcreator.pri
	src/libs/qmljs/qmljscheck.cpp
	src/plugins/debugger/gdb/gdbengine.cpp
	src/plugins/debugger/gdb/remotegdbserveradapter.cpp
	src/plugins/plugins.pro
	src/plugins/projectexplorer/buildmanager.cpp
	src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp

Change-Id: Id2dcebf95b94dc46c1d85908ba1d1378aaf362ac
2011-10-28 10:17:44 +02:00
Christian Kamm
fc7cd25849 QmlJS checks: Make 'unintentional empty block' warning less annoying.
Already fixed differently in master.

Change-Id: I92f7665166b2b1ca4f3d4598825b04f3f19d4772
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-10-24 10:23:19 +02:00
Christian Kamm
bbb6a4bb64 QmlJS: Fix build.
Change-Id: I230442300bf03d229c0168c108eb69fbd98708af
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-10-21 08:59:27 +02:00
Christian Kamm
e906bbdb56 QmlJS checks: Warn about extra message suppressions.
Reviewed-by: Fawzi Mohamed
Change-Id: I4038cd863ba80c1719417cd03b755b047f7d8b5e
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-10-21 08:31:45 +02: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
0ed824762c QmlJS checks: Suppression of static analysis messages.
* Use '// @disable M123' to suppress
* Add quick fix to add these comments

Change-Id: I499f5a6004148afbb346218c6fb01c9ca77b9f73
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-10-19 15:09:35 +02:00
Christian Kamm
cf156cd2ea QmlJS: Add quick fix to wrap element in Loader.
Change-Id: Ie8b1624abfd9faa8c6153ad99e48964d597d543c
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-10-19 14:21:47 +02:00
Christian Kamm
85d78c6082 QmlJS checks: Add hint about not using var/variant property types.
Change-Id: I79c5c4db78eb96eda7c6f5d543bb5063d5670968
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-10-19 14:12:47 +02:00
Christian Kamm
567e68a42a QmlJS indenter: Fix hang when using 'else (a==a) {}'.
Change-Id: Id7b8fba6707b1eaabf8065854f357cf600c809c5
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-10-19 09:40:12 +02:00
Christian Kamm
3ede0687ba QmlJS indenter: Improve indentation of function literals.
Change-Id: Ic79745eefbf37e42d4dd42e73d3752bed34bbfa9
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-19 08:33:28 +02:00
Christian Kamm
4a487b1add QmlJS indenter: Move reusable code to qmljs lib.
Change-Id: I5ab50b586109a9736cda48245807571ce10dfb5b
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-19 08:33:21 +02:00
Christian Kamm
89ff3cebe6 QmlJS: Introduce UnknownValue.
To distinguish known-to-be-undefined from a genuinely unknown value.

Change-Id: I606b4ea4d726f94553400b8950d3c0a4e76564a8
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-18 13:16:18 +02:00
Christian Kamm
8532e7b1b7 QmlJS checks: Limit warning about unintentional empty blocks.
width: {
    }

should not trigger a warning. We now only warn if { and } are
on the same line.

Change-Id: I45fa846ff63d0a83de782c412212165845c07e72
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-18 08:15:11 +02:00
Eike Ziller
8eb8368139 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	qtcreator.pri
	src/libs/qmljs/qmljstypedescriptionreader.cpp
	tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp

Change-Id: Id032187023bb42f259a87545ceeb3c965dd01a32
2011-10-17 14:22:32 +02:00
Christian Kamm
ea24106373 QmlJS indenter: Fix ternary multiline indent.
Task-number: QTCREATORBUG-6208
Change-Id: I7e5267291bc01226b5339cb4abdbb15856c58477
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-10-17 11:22:34 +02:00
Aurindam Jana
baafc89dfc Debugger: Fix build break on Windows
Removed inclusion of parser.pri from qml.pri and added QML_PARSER_EXPORT
to QmlJSGrammar.

Task-number: QTCREATORBUG-6292
Change-Id: I6a1fb3e038a6c154c4c3b368d7c7e6eda9975698
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-10-13 09:25:42 +02:00
Christian Kamm
9abf0e6a9a QmlJS: Convert more dynamic_casts to value_casts.
And introduce a good error message for the case when someone
forgets the specialization of the value_cast template.

Change-Id: Iec55a839e8f5eef5872b1dab8601f66e0e0c88de
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-10-13 08:44:28 +02:00
Christian Kamm
0c4bd321e5 Json: Fix indenter for json files.
Change-Id: Id864509dd78a70fc34a3798b80f7e1c8991181f4
Reviewed-on: http://codereview.qt-project.org/6038
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-12 11:34:43 +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
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
e0f24bb545 QmlJS: Fix the fix for scope chain rebuilds.
Change-Id: Idf18d44e647a2019405199bcc5273afb03816af1
Reviewed-on: http://codereview.qt-project.org/6498
Sanity-Review: Christian Kamm <christian.d.kamm@nokia.com>
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-10-12 08:54:24 +02:00
Christian Kamm
03689eeb50 QmlJS checks: Allow calling some builtin constructors as functions.
String, Boolean, Number and Object perform type conversion. Date returns
the current date.

Change-Id: I51e5bcbb0fa85ceb30b3ee3749f96c3e3b12ca21
Reviewed-on: http://codereview.qt-project.org/6043
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-12 08:50:26 +02:00
Christian Kamm
d48566234f QmlJS checks: Hint about extra parentheses.
Migrated from QtChecker.

Change-Id: I85f7dd039ac858b103dfe0af257f66031540c5de
Reviewed-on: http://codereview.qt-project.org/5969
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-12 08:49:41 +02:00
Christian Kamm
038111c384 QmlJS checks: Disable some checks when imports failed.
The important error in this case is on the import.

Change-Id: I3a547ca7ac44a89aba6819ea80ec52185071408a
Reviewed-on: http://codereview.qt-project.org/5879
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
Sanity-Review: Christian Kamm <christian.d.kamm@nokia.com>
2011-10-12 08:49:30 +02:00
Christian Kamm
f74d3fbb06 QmlJS: Allow for 'ModuleApi' elements in qmltypes files.
But ignore them for now. Reading them is a new feature that will
be introduced in master.

Change-Id: Id362caab2e3b48e198d87f59a0a7d99d24267378
Reviewed-on: http://codereview.qt-project.org/6431
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2011-10-12 08:42:58 +02:00
Christian Kamm
1a06d4f55c QmlJS: Fix scope builder rebuilds.
Change-Id: If5e585b074dd1885c3b591b5d2b7c89d50078c58
Reviewed-on: http://codereview.qt-project.org/6497
Sanity-Review: Christian Kamm <christian.d.kamm@nokia.com>
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-10-12 08:42:38 +02:00
Christian Kamm
bf3bf658c4 QmlJS checks: Add hint about not using multiple statements per line.
Migrated from QtChecker.

Change-Id: Ia76067a5f0e443a61a7b78ca9081f5a1bb51b471
Reviewed-on: http://codereview.qt-project.org/5861
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-10 14:40:17 +02:00
Christian Kamm
1b0dc76564 QmlJS checks: Add warning about 'eval'.
Migrated from QtChecker.

Change-Id: I4b3e8993c7b9f697497d2199b24bf49379dbc1b4
Reviewed-on: http://codereview.qt-project.org/5860
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-10 14:40:10 +02:00
Christian Kamm
be9d25ec64 QmlJS checks: Warn when using some builtin constructors.
Number, String, Array, Object, Function and Boolean should not
be used.

Migrated from QtChecker.

Change-Id: I8aee41f12389196ed49c44e26eb04d3fac040a2b
Reviewed-on: http://codereview.qt-project.org/5859
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-10 14:40:03 +02:00
Christian Kamm
c82d53d4ae QmlJS checks: Add confusing +/- check.
Migrated from QtChecker.

Change-Id: I06115152f979f9abfa9cbdf4a3e2e63a51ea7284
Reviewed-on: http://codereview.qt-project.org/5858
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-10-10 14:39:56 +02:00
Christian Kamm
aeadbcae40 QmlJS checks: Add check for spacing around binary operators.
Adapted from QtChecker.

Change-Id: I434582314e6431c56c9628a5a642bbfb032dfc2f
Reviewed-on: http://codereview.qt-project.org/5857
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-10-10 14:39:49 +02:00
Christian Kamm
da123becaf QmlJS checks: Add Hint about anonymous function formatting.
Migrated from QtChecker.

Change-Id: I0178cc189d1c98b51e1aeb43db7421ba8c43fc7e
Reviewed-on: http://codereview.qt-project.org/5856
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-10-10 14:39:39 +02:00
Christian Kamm
55713a1514 QmlJS checks: Add severity and unique id to messages.
Change-Id: I2cded26524c3f64152107e65d740658e3003ffac
Reviewed-on: http://codereview.qt-project.org/5790
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-10-10 14:39:20 +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
909c61247c QmlJS: Allow 'var' property type.
It's new in Qt 5.

Change-Id: If3e670d42528ca6996ae280d96077ce744d281d9
Reviewed-on: http://codereview.qt-project.org/6121
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-10-06 10:58:29 +02:00