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
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