Commit Graph

80 Commits

Author SHA1 Message Date
Erik Verbruggen
e609e9a701 Simplified ObjC selectors in the AST. 2010-02-23 17:43:52 +01:00
Erik Verbruggen
c79f25d5a6 Fixed Q_PROPERTY parsing to handle all possible cases. 2010-02-16 17:04:26 +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
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
8d8b05da5a Reworked parts of the QtPropertyDeclaration parsing and handling. 2010-02-07 10:49:03 +01:00
Erik Verbruggen
fd90c3503d Added AST nodes for compound expressions (a GNU extension). 2010-02-07 10:49:02 +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
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
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
Erik Verbruggen
6573ec5709 Fixed potential 0 pointer deref. 2009-12-18 17:26:07 +01:00
Roberto Raggi
527a9bd526 Inital support for Q_D/Q_Q declarations. 2009-11-30 17:07:22 +01:00
Roberto Raggi
d80f0f07f4 Cleanup 2009-11-23 12:53:33 +01:00
Roberto Raggi
baffd97efb Fixed parsing of ctor-initializers and added a manual test for the AST matchers 2009-11-13 12:38:18 +01:00
Roberto Raggi
5dcf449afd Initial work on the pattern matcher for AST nodes. 2009-11-12 18:03:05 +01:00
Roberto Raggi
0ae2d96a9b Fixed the AST field names. 2009-11-10 16:47:16 +01:00
Roberto Raggi
e5eb88a31f Ported the accept methods. 2009-11-10 16:20:13 +01:00
Roberto Raggi
cdb1443219 Cleanup specifiers. 2009-11-10 16:20:13 +01:00
Roberto Raggi
4fc2ccf0c5 Cleanup ptr operators. 2009-11-10 16:20:13 +01:00
Roberto Raggi
30c67f43df Cleanup Catch clause 2009-11-10 16:20:12 +01:00
Roberto Raggi
380bce4527 Cleanup nested name specifiers 2009-11-10 16:20:12 +01:00
Roberto Raggi
24b6c858eb Cleanup postfix declarators. 2009-11-10 16:20:12 +01:00
Roberto Raggi
a7219736b6 Cleanup Postfix operators. 2009-11-10 16:20:12 +01:00
Roberto Raggi
aff9a74366 Cleanup NewArrayDeclaratorAST 2009-11-10 16:20:11 +01:00
Roberto Raggi
73a4f2977a Cleanup MemInitializerAST 2009-11-10 16:20:11 +01:00
Roberto Raggi
1dbdbbefe7 Cleanup base base specifiers. 2009-11-10 16:20:11 +01:00
Roberto Raggi
86a8812beb Removed ObjCSynthesizedPropertyAST
Done with Erik Verbruggen
2009-11-10 16:20:11 +01:00
Roberto Raggi
4c24676362 Removed ObjCMessageArgumentDeclarationListAST
Done with Erik Verbruggen
2009-11-10 16:20:11 +01:00
Roberto Raggi
98802456b3 Removed ObjCPropertyAttributeListAST
Done with Erik Verbruggen
2009-11-10 16:20:11 +01:00
Roberto Raggi
e5c9aaab4b Removed ObjCSelectorArgumentListAST
Done with Erik Verbruggen
2009-11-10 16:20:10 +01:00
Roberto Raggi
d358c89f09 Removed ObjCMessageArgumentListAST
Done with Erik Verbruggen
2009-11-10 16:20:10 +01:00
Roberto Raggi
496ff15db3 Removed ObjCIdentifierListAST
Done with Erik Verbruggen
2009-11-10 16:20:10 +01:00
Roberto Raggi
8efb73f5d2 Removed TemplateArgumentListAST
Done with Erik Verbruggen
2009-11-10 16:20:10 +01:00
Roberto Raggi
6e3e293e53 Removed DeclaratorListAST
Done with Erik Verbruggen
2009-11-10 16:20:10 +01:00
Roberto Raggi
77e7899e7c Removed StatementListAST
Done with Erik Verbruggen
2009-11-10 16:20:09 +01:00
Roberto Raggi
36a0ea2bcb Removed DeclarationListAST node.
Done with Erik Verbruggen
2009-11-10 16:20:09 +01:00
Roberto Raggi
4089c906fa Removed the ExpressionListAST node.
Done with Erik Verbruggen
2009-11-10 16:20:09 +01:00
Roberto Raggi
13675cf6ed Cleanup the C++ front-end.
Removed CPLUSPLUS_BEGIN/END_NAMESPACE & co and made it possible to compile the parser with CPLUSPLUS_WITHOUT_QT.
2009-10-20 11:21:25 +02:00
Erik Verbruggen
f1e665463b Added protocol & class definedness checks, and added property attribute checks. 2009-10-05 18:02:01 +02:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
Erik Verbruggen
ca34b0ca1c Cleaned the ObjC AST up. 2009-08-05 17:14:08 +02:00
Erik Verbruggen
e53d23d55c Merged ObjCMethodDefinitionAST into ObjCMethodDeclarationAST. 2009-08-04 16:22:24 +02:00
Erik Verbruggen
e205126774 Added @synchronized parsing for Objective-C. 2009-07-31 16:53:05 +02:00
Erik Verbruggen
4a0da2c6f2 Added Semantic checks for ObjC methods. 2009-07-31 16:03:48 +02:00