Commit Graph

708 Commits

Author SHA1 Message Date
hjk
bc01283481 preprocessor: add test cases for <=, == and >=
Change-Id: I126143daeb572a555b73dc33ad7996b22c1387f8
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-26 08:48:52 +02:00
hjk
feba990f6e preprocessor: swallow ) after defined(...
Task-number: QTCREATORBUG-7256
Change-Id: I6149e56e5f50f75c9e039be9c162036a3890e2d7
Reviewed-by: David Schulz <david.schulz@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-25 13:41:51 +02:00
hjk
7f1f282111 preprocessor: some code style in auto test
Change-Id: I1381ce17098a87dbc3924dc86902d7cc1b1eec76
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-25 09:30:34 +02:00
hjk
c5acc63275 debugger: autotest compile fix
Change-Id: Ib2c0284c559c2060d21193a2b0f4fb63ed036acc
Reviewed-by: Bill King <bill.king@nokia.com>
2012-04-24 16:44:04 +02:00
Bill King
8182939315 Get tests compiling again on windows.
Change-Id: I8590aae7b12dbf38156c60e04e3b45a5a9552f48
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-24 13:51:37 +02:00
Erik Verbruggen
bd47622183 Fix out-of-memory crash when indenting generated tokens.
Generated tokens do not have a position in any source file, so not try
to indent them. Previously, the 'source' used was the scratch buffer,
which would not contain newlines, so the indent depth would be the
length of the scratch buffer at that point.

Task-number: QTCREATORBUG-7262
Change-Id: If94213d6dffd13dd2b47c7038ec2398ad925d904
Reviewed-by: Yuchen Deng <loaden@gmail.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2012-04-23 11:06:35 +02:00
hjk
6d393252c4 preprocessor: rename operator() into run.
Easier to follow.

Change-Id: I6da1ca862ddb7048a6d16bf5e6ea18d6b2cfc7f8
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 19:37:14 +02:00
hjk
538901d441 preprocessor: make Preprocessor::preprocess private
Change-Id: Ic81e3ebec1b42ae0698a340ee7e1c711225c1162
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:47:03 +02:00
hjk
acf6f8f0cb preprocessor: make Environment::{resolve,remove} work on ByteArrayRefs only
Change-Id: Idb93d359bd45696a38cb863dcea30c5c377eeabb
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:41:18 +02:00
hjk
3428240233 preprocessor: add autotest for defined(...) and undefined(...)
Change-Id: I7c843a449bb6db348ab374b4bd2c378b797b94cd
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:38:00 +02:00
hjk
37e3853090 preprocessor tests: compile fix
Change-Id: Iab9fb8ecbad94e08d39b6fad60caaf98a85d5980
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-17 09:40:34 +02:00
Francois Ferrand
68471c2100 Preprocessor: fix macro definition line.
The line corresponding to the macro definition is simply the token's
line. This caused errors in the macro definitions, since there were
multiple macros defined on the same line of the same file.

Task-number: QTCREATORBUG-7217
Change-Id: I56d17eeba677ac51f9eed283c0e964019bdfe4b7
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-04-02 17:01:52 +02:00
Francois Ferrand
1a10bcdaad Add test case to preprocessor.
- This enables some tests which had been unexpectedly disabled in
earlier test.
- Tests to show issue QTCREATORBUG-7225.
- Tests which validates somehow behavior of preprocessor for
QTCREATORBUG-7217: the test passes, so the problem is likely not in the
startExpandingMacro() notification.

Change-Id: Ib7c1433e4dcdd8c1d19fa117371f94c1645ec3fb
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-04-02 15:16:25 +02:00
Francois Ferrand
332072019a Preprocessor: Fix client notification.
- Notify end of macro if function expansion is skipped.
- Do not notify client of generated macros expansion.

Change-Id: Ic027fc13ee391425a5ebadc8e84b9305912dbcf0
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-04-02 13:49:00 +02:00
Erik Verbruggen
ff0a465403 [C++] Always output a #line as first line of the pp output.
Change-Id: I60d25109ae8fe3628b1899078a21010263787c33
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-03-30 13:24:36 +02:00
Erik Verbruggen
2a74097b54 Fix #include MACRO_NAME.
Change-Id: Id1c4046d028ad26d17b28feb53a832f3b48363f1
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-29 17:17:00 +02:00
Erik Verbruggen
60db573660 [C++] Rewrite of the preprocessor.
This rewrite fixes a couple of issues with the pre-processor. It now
supports:
- macros in macro bodies
- stringification of parameters [cpp.stringize]
- the concatenation operator [cpp.concat]
- #include MACRO_HERE
- defined() inside macro bodies used in pp-conditions.

Change-Id: Ifdb78041fb6afadf44f939a4bd66ce2832b8601f
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-03-29 14:28:17 +02:00
Eike Ziller
8f6d915948 Merge remote-tracking branch 'origin/2.5' 2012-03-28 16:31:29 +02:00
Erik Verbruggen
275e207d26 Fix invalid decltype error recovery which resulted in crashes.
Task-number: QTCREATORBUG-7174

Change-Id: I653db71adc45586cd8518ffd96118425fd3763be
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-03-28 13:41:48 +02:00
Eike Ziller
7931159c09 Merge remote-tracking branch 'origin/2.5'
Conflicts:
	src/libs/qmljsdebugclient/qmlprofilereventlist.cpp
	src/libs/zeroconf/servicebrowser.cpp
	src/plugins/qmlprofiler/qml/MainView.qml
	src/plugins/qmlprofiler/qmlprofilerengine.cpp
	src/plugins/qmlprofiler/qmlprofilertool.cpp
	src/plugins/qmlprofiler/qmlprofilertraceview.h
	src/plugins/qmlprofiler/tracewindow.cpp

Change-Id: Ib5e7579efffe74f2bf6871690d1e398e1062f986
2012-03-21 09:57:56 +01:00
Erik Verbruggen
19f1f6ca79 Added test for lambda function definitions.
Change-Id: I2233aa98a07e9c23463d4bec0b09dcccb89deb58
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-03-20 14:28:51 +01:00
Francois Ferrand
2386d701b6 Preprocessor: fix line for generated code.
The macro used to be at the same line as the first token after the
closing parenthesis.

Change-Id: I4c2d7317632baf612900e84572017aeb247d0585
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-19 10:48:43 +01:00
Francois Ferrand
558b6e08ae Preprocessor: fix expanding macro arguments.
Expanding macro arguments can add or remove argument for a nested macro,
so the actual parameters list was not correct.

Also, remove unused arguments reference list and reserve space for the
expected number of arguments.

Change-Id: I4cf369cbb3909927c6bf65750bd715fa6f070fad
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-19 10:35:21 +01:00
Francois Ferrand
3e9105e401 Preprocessor: fix handling of first empty argument.
First empty argument used to be dropped: e.g. MACRO(,test) would be
expanded with one parameter only, with value 'test'.

Change-Id: I693fbb7faf1360f62266fa04c4b39c2de0d159a7
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-19 10:33:14 +01:00
Francois Ferrand
ffd58c577a Preprocessor: Handle variadic arguments (__VA_ARGS__).
Change-Id: I69aa6c5e01ea97a4413f77f20ebbb4d4beb971aa
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-19 10:31:09 +01:00
Eike Ziller
e5e3f91ed2 Merge remote-tracking branch 'origin/2.5'
Conflicts:
	src/libs/qmljsdebugclient/qmlprofilereventlist.cpp

Change-Id: Ic6251d47ecd032ea1db4fc58dc80e19b6e6cf23d
2012-03-15 15:01:54 +01:00
hjk
be4adfac23 debugger: adapt autotest to recognize qnx
Change-Id: I5fa9c0b1aa900361b346d35e4f5c4c26658f8b14
Reviewed-by: hjk <qthjk@ovi.com>
2012-03-15 11:35:21 +01:00
Erik Verbruggen
3a231e734c Cleanup testcase.
Change-Id: I3db86fa5df4a2747f4c24e0414279dab59098c54
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-03-13 12:00:43 +01:00
Christian Kamm
ab64c1aef3 QmlJS indenter: Improve indentation of function expressions.
As discussed with Tor Arne and Fawzi in
http://codereview.qt-project.org/#change,18080

Change-Id: Ia0482d2ed3ddd61fa002e2c76b948301af52a795
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2012-03-06 17:26:46 +01:00
Robert Loehning
b41171c847 Normalized connect()s
Change-Id: Id353ab140a46e06ffc3abf667ab3b234e749e17c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-03-06 12:46:52 +01:00
Christian Kamm
658e80d1b8 QmlJS indenter: Improve handling of function expressions.
Task-number: QTCREATORBUG-7001

Change-Id: I254b84153b042c81008314bbebc800edfe201b89
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
(cherry picked from commit fcaf3d4f4c)
2012-03-01 17:00:02 +01:00
Robert Loehning
ff58b3102c QmlJS indenter: Fix hang with invalid code.
Task-number: QTCREATORBUG-7005

(cherry picked from commit 0c597a6f07)

Change-Id: I2e343fbcc6931530e7db142bf6e268dac696970f
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2012-03-01 08:27:40 +01:00
Christian Kamm
06e6d88b81 Fix compilation of QmlJS code formatter test.
Done by moving ITextMark and ITextMarkable from itexteditor.h
to itextmark.h. The test uses parts of the texteditor plugin by
compiling some of its files. For that to work, the code has to be
fairly stand-alone. The reference to EditorManager in
itexteditor.cpp broke it.

Long term, the test should become a plugin based test to avoid this
kind of problem.

Change-Id: Ibae3bcd7365eb4e2814cd07011cad0180507e82b
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2012-02-28 15:47:11 +01:00
Erik Verbruggen
a621c99a0f [C++] Add error recovery for namespace declarations.
Change-Id: I884ff9901c95467524e5eba38e91f75992d30e14
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Flex Ferrum <flexferrum@gmail.com>
2012-02-28 10:22:31 +01:00
Erik Verbruggen
368d5926ca C++: handle destructor names with template parameters.
Change-Id: I74b4fd5e043db935abc18345b303d294b71e8fc2
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-02-23 08:39:34 +01:00
Erik Verbruggen
3fa55b7ab9 Removed module names from #include directives.
Getting the #include directives ready for Qt5. This includes the
new-project wizards.

Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-15 16:24:46 +01:00
Erik Verbruggen
d679dc4d53 C++: Added tests for C++11 features.
Change-Id: Ifa0bc37916d3ac3a523580bec15a6685709e7810
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-02-10 08:30:48 +01:00
Roberto Raggi
5fb624b1db Fix semantic of C++ 11 inline namespaces.
Add the declaring `inline' namespace to the `using list' of its
enclosing namespace symbol. This should be enough to ensure
the correct visibility of the symbols declarated in the inlined
namespace.

Change-Id: Id4de74577c498fe439a49709a306ef0deb145988
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-02-03 15:37:17 +01:00
David Schulz
6d85b53f9c Revert "Editor: Highlight background for whitespaces in strings and comments"
The change brokes the Lexer.
This reverts commit e46a5579d3.

Change-Id: I3363c6eff74b53a7f2d9f417941cde07aaa92619
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-02-03 11:52:01 +01:00
David Schulz
e46a5579d3 Editor: Highlight background for whitespaces in strings and comments
The whitespaces are now highlighted with the same backgroundcolor as the characters.
Also added a test for the Lexer.

Task-number: QTCREATORBUG-5802

Change-Id: Ic1bcd8cfe30d6b8a0281b7963eaab310f972b9d2
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-02-01 11:17:56 +01:00
hjk
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
Tobias Hunger
0df375a08a FileName: Add method to find parent directories
Change-Id: Ia8382e3f7a9312e0878cce041723973ccf751aae
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-25 17:15:17 +01:00
Leandro Melo
c287d90604 C++: Rename source/setSource to utf8Source/setUtf8Source
Continuinng a previous commit... This is in order to make
the interface clearer.

Change-Id: Ic1b05217f878578bc84a064927507b75981c47d6
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-01-13 11:22:28 +01:00
hjk
71cad949ed debugger: make autotests compilable without private qt headers
Change-Id: Iacb6df6b369e9fd1520ae797934a9bfb9927add4
Reviewed-by: hjk <qthjk@ovi.com>
2012-01-07 20:20:50 +01:00
Christian Kamm
0ba1234108 C++ indenter: Improve member initializer indent.
If you indent the first initializer differently, that will now stick
for the following ones.

Change-Id: Ib08dfbf64282eda41202528b7255e693c350f7c6
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2011-12-08 13:55:16 +01:00
Christian Kamm
37bcdcf4f0 QmlJS checks: Disable warnings about expression statements in bindings.
Change-Id: Ic3aca50bec93ec3b810dbda2f9b57eefb966bbdf
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-12-02 14:49:59 +01:00
Christian Kamm
69d6a508d3 QmlJS indenter: Fix braceless switch/try/with bindings.
Change-Id: Iee25f3f9ec38b1b7fc2697f390386c9a60cb8347
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-12-02 09:15:04 +01:00
Christian Kamm
a24c49720a QmlJS reformatter: Fix object literals.
The comma token seems to be invalid.

Change-Id: I859fa58ba0ba1e975e0cf1105c2b53aac848fb0d
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2011-11-30 10:11:28 +01:00
Christian Kamm
d02b647bbf QmlJS checks: Don't warn for fallthrough on the last clause.
Change-Id: Ica84ced241eafd82cededa65d2e90f855e448f89
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-11-29 11:11:41 +01:00
Christian Kamm
a920096c97 QmlJS checks: Accept 'fallthrough' comment to terminate case blocks.
Change-Id: Icf71416e8aa892089b0918529b94f4cd6a1db5a3
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2011-11-29 08:25:51 +01:00