Roberto Raggi
42f849c4da
Fixed line/column position after macro expansion.
...
Task-Number: QTCREATORBUG-409
2009-12-03 15:08:39 +01:00
Roberto Raggi
527a9bd526
Inital support for Q_D/Q_Q declarations.
2009-11-30 17:07:22 +01:00
Roberto Raggi
de82f1e3f7
Initialize the pp's engine _dot member.
2009-10-21 17:05:36 +02:00
Roberto Raggi
146ec6248d
Renamed Preprocessor::_true_test
2009-10-21 16:20:45 +02:00
Roberto Raggi
5b7a19425b
Use bit vectors to store the preprocessor's state.
2009-10-21 16:19:23 +02:00
Roberto Raggi
f829ef899c
Store in the document's macroUsages only the top-level macro expansions.
2009-10-15 16:25:10 +02:00
Christian Kamm
22ed0255b9
Track more macro uses.
...
In particular macros that are only checked for definition or are
expanded during the evaluation of an #if or #elif directive are now also
added to the list available through Document::macroUses().
The names of undefined macros that are interesting (because they're used
in an #ifdef or a defined(...)) are now available through
Document::undefinedMacroUses().
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2009-09-25 16:08:01 +02:00
Roberto Raggi
e77166a002
Don't include whitespaces and comments at the end of macro definitions.
2009-08-24 14:01:32 +02:00
hjk
93cbef8724
long live the king
2009-08-14 09:30:56 +02:00
Thiago Macieira
d0457b70e3
Compile the C++ parser library with Sun CC 5.9.
...
Things you mustn't do:
1) end an enum with a comma
2) #include <cxxxx> and not use std::
3) use anonymous structures
All three things are invalid C++. Anonymous structures inside
anonymous unions are allowed by GCC, but that doesn't mean it's valid.
2009-08-03 14:59:42 +02:00
Roberto Raggi
3e54a65a69
Replaced T_INT_LITERAL and T_FLOAT_LITERAL with T_NUMERIC_LITERAL.
2009-07-10 15:45:09 +02:00
Roberto Raggi
d788306781
Don't expand object-like macro when preprocessing in fast-mode.
2009-07-09 17:52:31 +02:00
Roberto Raggi
2f649be146
Disable macro expansion when preprocessing in fast-mode.
2009-07-06 09:53:25 +02:00
Roberto Raggi
b2df9bddec
Made foreach a keyword when parsing with qtMocRun
2009-07-03 11:00:36 +02:00
Roberto Raggi
3cdd48067c
Introduced ForeachStatementAST and the bits to parse foreach statements when qtMocRun is enabled.
2009-07-03 09:12:58 +02:00
Roberto Raggi
ed2eb296b1
Fixed possible crash in the preprocessing phase when the first token in the
...
`original' (not preprocessed) token stream has the whitespace atttribute on.
2009-07-01 10:49:27 +02:00
Roberto Raggi
1219b31e03
Produce `join' tokens.
2009-06-29 14:31:25 +02:00
Jason McDonald
884b7af769
Update license headers and sales contact details.
...
Reviewed-by: Trust Me
2009-06-17 00:01:27 +10:00
Roberto Raggi
e2a0a4d7c5
Keep the original encoded text around while preprocessing.
2009-06-15 15:39:20 +02:00
Roberto Raggi
bdf6c3d0be
Store the encoded file name in a QString.
2009-05-27 15:34:13 +02:00
Roberto Raggi
d46a1447f1
Fixed possible crash in std::isspace(ch) when ch is a unicode char.
2009-05-15 16:01:02 +02:00
Roberto Raggi
483449e420
There is no output stream so there's nothing to expand.
2009-05-13 18:16:28 +02:00
Roberto Raggi
caad98ec4c
Refactored a bit the preprocessor so we can use it to generate file dependencies.
2009-05-13 15:29:59 +02:00
Roberto Raggi
424dd77e18
Added support for Q_SIGNAL and Q_SLOT.
2009-03-25 11:50:17 +01:00
Thorbjørn Lindeijer
b789ffa91b
Added and corrected copyright headers
2009-03-20 14:59:12 +01:00
dt
f7240bd665
Fixes: bin dir of msvc qt versions was not added to the path
...
The setting of msvc environments variables overwrote that. Fix that by running the script with the correct environment.
2009-03-19 18:30:11 +01:00
Roberto Raggi
4613da1c8b
Mark the generated tokens in the token stream.
2009-03-04 14:36:47 +01:00
Roberto Raggi
064201ff85
Mark the generated regions of text.
2009-03-04 14:36:47 +01:00
Roberto Raggi
e253f39360
Store the actual arguments of the macro expansions.
2009-03-04 11:47:30 +01:00
Roberto Raggi
5bbb882b3d
Introduced expandBuiltinMacro().
2009-03-03 17:23:12 +01:00
Roberto Raggi
ca7cc122cb
Simplified Preprocessor::preprocess()
2009-03-03 17:06:42 +01:00
Roberto Raggi
7327a8ea4d
Introduced skipActualArguments().
2009-03-03 16:59:55 +01:00
Roberto Raggi
1d75990667
Introduced processObjectLikeMacro().
2009-03-03 16:56:55 +01:00
Roberto Raggi
b316939dff
Introduced expandObjectLikeMacro().
2009-03-03 16:46:21 +01:00
Roberto Raggi
55d0e4f860
Improved the way we expand function-like macros when we can't collect all the arguments.
2009-03-03 16:32:08 +01:00
Roberto Raggi
656d70fa74
Introduced expandFunctionLikeMacro().
2009-03-03 16:19:03 +01:00
Roberto Raggi
3d6f7de909
Context-sensitive highlighting.
2009-03-03 13:57:08 +01:00
Roberto Raggi
63c012a242
Fixed: token separators.
2009-03-03 11:28:36 +01:00
Roberto Raggi
4c7e3ed836
Add the _right_ number of spaces.
2009-03-03 11:14:12 +01:00
Roberto Raggi
454438e47d
More cleanup.
2009-03-03 10:41:20 +01:00
Roberto Raggi
ae04679373
Introduced processNewline() and processSkippingBlocks().
2009-03-03 10:27:02 +01:00
Roberto Raggi
c1ea5126dd
Reserve some space.
2009-03-03 10:16:43 +01:00
Roberto Raggi
d7e86c22b6
Cleanup the function-like macro expansion.
2009-03-03 10:13:51 +01:00
Roberto Raggi
2a8327e57f
Obsoleted code.
2009-03-03 09:58:54 +01:00
Roberto Raggi
ba200c7834
Some minor cleanup in processInclude().
2009-03-03 09:52:50 +01:00
Roberto Raggi
ebe17889f4
Some refactoring of the preprocessor, it'll simplify my next commits.
2009-03-02 19:03:07 +01:00
Roberto Raggi
ed69c39906
More cleanup
2009-03-02 18:15:58 +01:00
Roberto Raggi
f4e875b9bb
Initial testing of the preprocessor.
2009-03-02 11:30:43 +01:00
hjk
8ca887aae2
Fixes: change file license headers to include LGPL
2009-02-25 09:15:00 +01:00
Roberto Raggi
f63b8e6693
--warnings
2009-02-16 18:56:35 +01:00