Commit Graph

171 Commits

Author SHA1 Message Date
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
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