Commit Graph

155 Commits

Author SHA1 Message Date
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
Erik Verbruggen
8d8b05da5a Reworked parts of the QtPropertyDeclaration parsing and handling. 2010-02-07 10:49:03 +01:00
Erik Verbruggen
6ca5f5f5f8 Added semantic checks for compound expressions. 2010-02-07 10:49:02 +01:00
Erik Verbruggen
fd90c3503d Added AST nodes for compound expressions (a GNU extension). 2010-02-07 10:49:02 +01:00
Thorbjørn Lindeijer
76036ca7a7 Avoid compile warning by putting parenthesis around && within || 2010-02-05 16:25:22 +01:00
Erik Verbruggen
ae0ee18a77 Removed #ifdefs so all AST nodes are always there.
Also removed the (conditional) invoke_token from DeclarationAST and use
the qt_invokable_token to store the Q_INVOKABLE, and fixed the ASTMatch
code generation.
2010-02-04 12:15:32 +01:00
Erik Verbruggen
1b5168c19e Modified parseObjCTypeQualifiers to do what the name indicates. 2010-02-04 12:15:31 +01:00
Erik Verbruggen
cdd8ac099d Renamed method. 2010-02-04 10:59:23 +01:00
Wolfgang Beck
e134e24919 Source update. 2010-02-03 13:21:08 +10:00
Erik Verbruggen
a3d0406d31 Fixed throw expression parsing. 2010-02-02 15:39:42 +01:00
Erik Verbruggen
a76293b5ff Fixed unintended switch-fall-through.
For @synchornized when ObjC is disabled.
2010-02-02 12:34:57 +01:00
Erik Verbruggen
c33b55537d Extended operator precedence parsing.
It now includes comma expressions, conditionals and assignment
expressions.
2010-02-02 12:34:57 +01:00
Erik Verbruggen
5878a89569 Put precedence constants in an enum. 2010-02-02 12:34:57 +01:00
Erik Verbruggen
0cf0becb2e Added AST building for __attribute__ constructs. 2010-02-02 12:03:37 +01:00
Erik Verbruggen
a004dace09 Fixed compiler "sensitive" use of &(...) expressions. 2010-02-02 11:54:56 +01:00
Erik Verbruggen
fcf67d7d8e Added clone methods to the AST. 2010-02-02 11:41:57 +01:00
Oswald Buddenhagen
75b42f18d8 Merge remote branch 'origin/1.3'
Trailing whitespace removal re-applied manually.
2010-01-29 22:50:23 +01:00
Oswald Buddenhagen
a6ca348636 remove trailing whitespace
doing it in 1.3 as well to avoid possible later conflicts
2010-01-29 21:33:57 +01:00
Erik Verbruggen
b7cbc9b0c1 Removed methods which always returned a constant (false). 2010-01-28 17:05:26 +01:00
Erik Verbruggen
3dd011fcb6 Changed binary expression parsing to use precedence parsing. 2010-01-28 15:22:50 +01:00
Roberto Raggi
df11fc95f9 Introduced a few paranoia checks. 2010-01-26 12:45:58 +01:00
Roberto Raggi
1f5d65e4a3 Initialize Parser::depth 2010-01-25 09:31:34 +01:00
Erik Verbruggen
4912ffe729 Temporary fix to prevent the parser from going too deep into recursion. 2010-01-22 16:07:26 +01:00
Erik Verbruggen
007d76aada Fixed bug in ObjC class field parsing which could result in an invalid pointer in the AST. 2010-01-22 09:54:00 +01:00
Erik Verbruggen
800f4babc6 Removed unused method. 2010-01-22 09:54:00 +01:00
Wolfgang Beck
4b33881729 Merge ichecker branch changes into the mainline. New project can be found under src/tools/ICheck 2010-01-19 15:26:08 +10:00
Erik Verbruggen
0c17d53875 Fixed semantic check for ObjC fast-enumeration for-loops, then merged it with the semantic check for the foreach. 2010-01-11 09:29:15 +01:00
Roberto Raggi
83d5659454 Fixed parsing of friend class declarations. 2010-01-06 16:15:28 +01:00
Erik Verbruggen
19beb9c84f Fixed parsing of selector argument expressions. 2009-12-18 17:26:07 +01:00
Roberto Raggi
0a5b2eed4c Fixed parsing of template-ids.
Task-number: QTCREATORBUG-74
2009-12-09 12:32:04 +01:00
Roberto Raggi
2811d0caf3 Removed unused argument. 2009-12-08 12:20:13 +01:00
Roberto Raggi
59e0729826 Improved error recovery when parsing ctor-initializers. 2009-12-07 14:51:29 +01:00
Roberto Raggi
fd4aee7ef6 Added diagnostic messages for ctor-initializers. 2009-12-07 14:51:29 +01:00
Roberto Raggi
48a555d789 Check binary and unary expressions. 2009-12-03 18:08:14 +01:00
Roberto Raggi
1c40a4bcd6 Improved panic mode error recovery 2009-12-03 12:20:31 +01:00
Roberto Raggi
fade61a8a9 Use const literals. 2009-12-01 11:46:36 +01:00
Roberto Raggi
527a9bd526 Inital support for Q_D/Q_Q declarations. 2009-11-30 17:07:22 +01:00
Roberto Raggi
0528f2407a Introduced type matchers. 2009-11-23 12:53:33 +01:00
Roberto Raggi
35901130ee Merge remote branch 'origin/1.3' 2009-11-17 09:40:50 +01:00
Roberto Raggi
0b641d38d5 Use a map for the memoization. 2009-11-16 18:01:50 +01:00