Erik Verbruggen
25d7933d7a
Fixed __attribute__ parsing after struct declarations.
...
Task-number: QTCREATORBUG-1358
Reviewed-by: Roberto Raggi
2010-05-27 14:22:53 +02:00
Roberto Raggi
a4245c174a
Improved recovering from errors inside template declarations.
2010-05-25 17:15:21 +02:00
Roberto Raggi
ec5b235fbe
Disabled parsing of C++0x initializer-list.
2010-05-21 10:51:09 +02:00
Erik Verbruggen
25837759ea
Fix left-overs from merging icheck code.
2010-04-23 15:25:22 +02:00
Erik Verbruggen
fcedcc510a
Handle fully qualified types in the root namespace for template typenames.
...
For example:
template <typename ::foo::bar>...
Done by: Roberto Raggi
Reviewed-by: erikv
2010-04-12 13:06:24 +02:00
Roberto Raggi
4d45740167
Fixed parsing of anonymous template parameters.
...
For example,
template <template <typename> class X> struct foo {};
Reviewed-by: erikv
2010-04-12 12:59:02 +02:00
Roberto Raggi
c3d7928ac8
Clone the TemplateArguments before caching the result.
2010-03-30 12:35:00 +02:00
Roberto Raggi
bbdb7d9742
Fixed parsing ambiguity when parsing dependant template types.
2010-03-29 14:10:42 +02:00
Roberto Raggi
f5c9a158c1
Use the start of the template-argument as to key for template-arguments cache.
2010-03-26 11:27:22 +01:00
Roberto Raggi
fe261bc256
Parse C++ 0x argument packs.
2010-03-25 12:16:18 +01:00
Roberto Raggi
3c8d12562e
Recognize C++0x sizeof... expressions.
2010-03-25 10:44:42 +01:00
Roberto Raggi
ddcc40d0fc
Accepts `...' when parsing declarator-ids in C++0x.
2010-03-25 10:44:42 +01:00
Roberto Raggi
86c2367c26
In C++ 0x auto is a type specifier.
2010-03-24 17:19:54 +01:00
Roberto Raggi
cf125618af
Accepts trailing return types.
2010-03-24 14:56:45 +01:00
Roberto Raggi
4e50dfe330
Require a T_EQUAL when parsing conditions.
2010-03-24 13:56:34 +01:00
Roberto Raggi
8329d7db94
Recognize C++0x lambda expressions.
2010-03-24 13:49:02 +01:00
Roberto Raggi
0eddf5c0ad
Accept C++0x initializers.
2010-03-23 14:17:33 +01:00
Erik Verbruggen
989681a0e9
Added attribute parsing for elaborate-type-specifiers.
2010-03-23 14:15:45 +01:00
Roberto Raggi
189ec382ef
Recognize C++0x type-id-list.
2010-03-23 14:13:23 +01:00
Roberto Raggi
b4542eff3c
Renamed Parser::isCxxOxEnabled().
2010-03-23 14:13:22 +01:00
Roberto Raggi
87d28e1814
Recognize C++0x template arguments.
2010-03-23 14:13:22 +01:00
Roberto Raggi
eebf498aae
Parse C++0x type-parameters.
2010-03-23 14:13:22 +01:00
Roberto Raggi
ae71514360
Parse C++0x base-specifier-list.
2010-03-23 14:13:22 +01:00
Roberto Raggi
8b625a867c
Parse C++0x mem-initializer-list.
2010-03-23 14:13:21 +01:00
Roberto Raggi
4b8d597196
Recognize C++0x rvalue references.
2010-03-23 12:12:07 +01:00
Roberto Raggi
464f797f2f
Don't check the compound statement terminator when parsing.
...
The check should be done in the semantic phase.
2010-03-23 10:25:43 +01:00
Roberto Raggi
6f80219d3e
Renamed the CompoundExpressionAST::compoundStatement.
2010-03-23 10:25:43 +01:00
Roberto Raggi
069091eece
Rewind the memory pool only after parsing a toplevel expression statements.
2010-03-23 10:18:17 +01:00
Roberto Raggi
61a504c427
Ensure that the memory pool can be reused after a rewind and get rid of the segmented array.
2010-03-18 15:23:13 +01:00
Roberto Raggi
2d45bb8070
Parse and create AST nodes for the Q_MOC_RUN extensions.
2010-03-17 14:37:55 +01:00
Erik Verbruggen
b4d72a78db
Added parser support for Q_INTERFACES.
2010-03-17 10:30:17 +01:00
Erik Verbruggen
61132f260c
Fixed Q_ENUMS/Q_FLAGS parsing of enum names.
2010-03-17 10:30:17 +01:00
Roberto Raggi
4f03a8be53
Don't skip closing braces and Qt function specifiers.
2010-03-16 15:18:59 +01:00
Erik Verbruggen
b737fb861d
Made Q_PROPERTY a valid declaration to restart parsing when recovering from an error.
2010-03-12 11:32:42 +01:00
hjk
9595504bda
Long live the king!
2010-03-05 11:28:13 +01:00
Erik Verbruggen
cefdb3da30
Fixed parsing of properties whose name is a C++ keyword.
...
Reviewed-by: Roberto Raggi
2010-03-03 16:46:14 +01:00
Erik Verbruggen
e609e9a701
Simplified ObjC selectors in the AST.
2010-02-23 17:43:52 +01:00
Erik Verbruggen
21fdc2d06a
Replaced usages of concrete type SimpleNameAST with the abstract NameAST.
2010-02-22 09:27:44 +01:00
Erik Verbruggen
c79f25d5a6
Fixed Q_PROPERTY parsing to handle all possible cases.
2010-02-16 17:04:26 +01:00
Erik Verbruggen
618173e067
Fixed Q_ENUMS/Q_FLAGS parsing to handle namespaces.
2010-02-15 17:13:30 +01:00
Erik Verbruggen
8de6ccc775
Revert "Split Objective-C keyword parsing to handle the '@' separately."
...
This reverts commit 2a59d2ae0c
.
2010-02-15 12:24:31 +01:00
Erik Verbruggen
a0071f1ce9
Revert "Added Objective-C @try block parsing."
...
This reverts commit f4163b8ba0
.
2010-02-15 12:24:31 +01:00
Erik Verbruggen
f4163b8ba0
Added Objective-C @try block parsing.
2010-02-15 09:27:01 +01:00
Erik Verbruggen
2a59d2ae0c
Split Objective-C keyword parsing to handle the '@' separately.
...
Because apparently, while designing the Objective-C language, somebody
thought it was a world-class idea to allow any white-space between the
'@' character and the subsequent keyword. With this fix, we now
correctly parse:
@ dynamic
and:
@
selector
and:
@"foo"
"bar"
@"mooze"
(This last one is 1 single string split over multiple lines.)
Wonderful, isn't it?
What we (and Clang) do not support, but what GCC supports is something
like:
@"foo"@@ "bar" @"mooze" @@
which is equivalent to @"foobarmooze".
2010-02-15 09:27:00 +01:00
Erik Verbruggen
b1af22b3ab
Fixed error recovery when failing to parse Q_PROPERTY.
2010-02-10 11:07:18 +01:00
Erik Verbruggen
1af05166d9
Removed Q_DECLARE_FLAGS parsing, leaving it to the CPP to expand it.
2010-02-08 15:41:18 +01:00
Erik Verbruggen
b58cb740e5
Changed ObjC message arguments to have SimpleName for the name part.
2010-02-08 09:34:51 +01:00
Erik Verbruggen
7b913f7fa2
Changed Q_PROPERTY parsing and AST storage.
2010-02-07 10:49:03 +01:00
Erik Verbruggen
21488e8898
Added semantic checks for Q_ENUMS.
2010-02-07 10:49:03 +01:00
Erik Verbruggen
ac6aba5ec3
Simplified Q_FLAGS and Q_DECLARE_FLAGS parsing.
2010-02-07 10:49:03 +01:00