summaryrefslogtreecommitdiffstats
path: root/clang/Parse/ParseObjc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-1578/+0
| | | | | | | | | | lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
* improve DeclStmt to be able to store SourceRange info correctly.Chris Lattner2008-03-131-3/+5
| | | | | | | Set the start of DeclStmt range. Right now the end is meaningless though. llvm-svn: 48330
* implement simple support for arbitrary token lookahead. Change the Chris Lattner2008-03-101-19/+13
| | | | | | | | objc @try parser to use it, fixing a FIXME. Update the objc-try-catch-1.m file to pass now that we get more reasonable errors. llvm-svn: 48129
* Fix http://llvm.org/bugs/show_bug.cgi?id=2106.Steve Naroff2008-02-291-1/+1
| | | | llvm-svn: 47768
* ParseCompoundStatementBody expects to only be called with { as the currentChris Lattner2008-02-141-2/+12
| | | | | | token. Diagnose when the { is missing in objc @try blocks instead of aborting. llvm-svn: 47130
* Add a FIXME to clarify previous commit/experiment.Steve Naroff2008-02-051-0/+6
| | | | llvm-svn: 46782
* Fix Parser::ParseObjCTryStmt() to allow for trailing @-keyword ↵Steve Naroff2008-02-051-8/+36
| | | | | | | | statements/expressions. This bug fix is the result of not having 2-token lookahead to recognize specific @-keywords. llvm-svn: 46768
* On an unexpected @foo keyword, return failure instead of a 'successful' null ↵Chris Lattner2008-01-301-3/+1
| | | | | | | | AST. This fixes a segfault on things like @foo. llvm-svn: 46574
* Fixed misc. issues raised by Chris L. on @synchronized implementation.Fariborz Jahanian2008-01-301-4/+7
| | | | llvm-svn: 46558
* AST for @synchronized.Fariborz Jahanian2008-01-291-1/+21
| | | | llvm-svn: 46524
* Bunch of type defs, etc. for @synchronized.Fariborz Jahanian2008-01-291-0/+7
| | | | llvm-svn: 46520
* Add support for dispatching an objc message to a variable Chris Lattner2008-01-251-1/+1
| | | | | | in an initializer list. llvm-svn: 46367
* Factor a complex predicate out to a helper method.Chris Lattner2008-01-251-3/+1
| | | | llvm-svn: 46365
* split the second half of ParseObjCMessageExpression into a new Chris Lattner2008-01-251-23/+31
| | | | | | ParseObjCMessageExpressionBody method. llvm-svn: 46363
* Warn (as gcc does) when @end does not close anything.Fariborz Jahanian2008-01-101-6/+3
| | | | llvm-svn: 45834
* Substituted all instances of the string "Objc" for "ObjC". This fixesTed Kremenek2008-01-071-50/+50
| | | | | | | some naming inconsistencies in the names of classes pertaining to Objective-C support in clang. llvm-svn: 45715
* Minor changes as suggested by Chris L.Fariborz Jahanian2008-01-041-6/+3
| | | | llvm-svn: 45598
* Patch to parse/build AST ObjC2's foreach statement.Fariborz Jahanian2008-01-031-1/+4
| | | | llvm-svn: 45539
* New declarations/defs for Objc2's foreach-statement. This is work in progress.Fariborz Jahanian2008-01-021-0/+10
| | | | llvm-svn: 45511
* Prevent crash on incorrect objc messaging expression.Fariborz Jahanian2008-01-021-2/+2
| | | | llvm-svn: 45489
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-291-2/+2
| | | | | | discussion of this change. llvm-svn: 45410
* - Use Tok.isObjCAtKeyword instead of ↵Chris Lattner2007-12-271-20/+20
| | | | | | | | | | | | Tok.getIdentifierInfo()->getObjCKeywordID(). The later fails if the token is not an identifier. - Replace tabs with spaces. - Various other cleanups. Patch by Nico Weber! llvm-svn: 45368
* use new interface.Chris Lattner2007-12-131-1/+1
| | | | llvm-svn: 44978
* Concatenation of objc strings.Fariborz Jahanian2007-12-121-1/+1
| | | | llvm-svn: 44964
* move function to a more logical location, add its grammar productions.Chris Lattner2007-12-121-3/+38
| | | | llvm-svn: 44923
* Add ObjC parser support for concatenated ObjC strings. Note thatChris Lattner2007-12-121-7/+35
| | | | | | | | this is passed to sema and ignored there, so the second part of the string will not make it into the AST. Passing to Fariborz to finish Sema + AST construction. llvm-svn: 44898
* Fixed a parsing bug whereby @optional/@required keyword is not followed by Fariborz Jahanian2007-12-111-0/+3
| | | | | | a method declaration. llvm-svn: 44870
* Make sure Parser::ParseObjCSelectorExpression() handles unary selectors ↵Steve Naroff2007-12-051-4/+5
| | | | | | (with no arguments) properly. llvm-svn: 44636
* Finish up variadic methods/messages.Steve Naroff2007-11-151-5/+11
| | | | llvm-svn: 44172
* Implement support for variadic methods (work in progress).Steve Naroff2007-11-151-2/+6
| | | | llvm-svn: 44171
* Handle "bool" in all places that touch _Bool. Chris Lattner2007-11-151-0/+1
| | | | | | | | This fixes code like "if((bool)x) {}" for example. Patch by Nate Begeman. llvm-svn: 44159
* Rewrite method definition bodies. Also renamed a method to distinguish ↵Steve Naroff2007-11-131-2/+3
| | | | | | between method declarations and definitions. llvm-svn: 44080
* 'super' nailed.Fariborz Jahanian2007-11-121-2/+4
| | | | llvm-svn: 44025
* Add an error diagnostic to Parse::ParseObjCMessageExpression().Steve Naroff2007-11-121-0/+1
| | | | | | | | | | | | | | | | | | This now exposes the following bug... ******************** TEST 'Sema/message.m' FAILED! ******************** Command: clang -fsyntax-only -verify Sema/message.m Output: Errors seen but not expected: Line 9: invalid receiver to message expression ******************** TEST 'Sema/message.m' FAILED! ******************** As far as I can tell, all messages to method agruments fail. The method arguments are built by Sema::ObjcActOnStartOfMethodDef(). llvm-svn: 44022
* Replace 2 method definition actions (ActOnFunctionDefBody, ↵Steve Naroff2007-11-111-1/+1
| | | | | | ActOnMethodDefBody) with 1 method definition action (ActOnFinishFunctionBody). I can't think of any reason that we would need two action hooks. llvm-svn: 44000
* Replace 3 method definition functions (ObjcParseMethodDefinition, ↵Steve Naroff2007-11-111-20/+30
| | | | | | | | ParseObjCInstanceMethodDefinition, ParseObjCClassMethodDefinition) with 1 method definition function (ParseObjCMethodDefinition). Less code/confusion. llvm-svn: 43999
* This is the last 5% of the solution to teaching Sema::ActOnInstanceMessage() ↵Steve Naroff2007-11-111-16/+3
| | | | | | | | | | | | | | | about private methods (r43989). While the diff is large, the idea is very simple. When we parse method definitions (in an @implementation), we need to add them incrementally (rather than wait until the @end). Other details... - Renamed Sema::ActOnAddMethodsToObjcDecl() to Sema::ActOnAtEnd(). The methods are now optional arguments. - Removed Parser::AllImplMethods (a nice cleanup). - Added location info to ObjcImplementationDecl (since we will need it very soon:-) - Modified message.m test to no longer allow the bogus diagnostic. llvm-svn: 43995
* pretty priting for method definitions.Fariborz Jahanian2007-11-101-5/+6
| | | | llvm-svn: 43986
* Represent method definitions as separate AST nodes. Pretty print will come next.Fariborz Jahanian2007-11-101-6/+6
| | | | llvm-svn: 43979
* Some code clean up in the form of name changes for functions whichFariborz Jahanian2007-11-091-2/+2
| | | | | | process method definitions. llvm-svn: 43967
* Added class context to method declarations. Provide "interface *" typeFariborz Jahanian2007-11-091-4/+5
| | | | | | to 'self' method of instance methods. llvm-svn: 43957
* First patch toward rewriting of method definitions. This is work in progress.Fariborz Jahanian2007-11-081-11/+10
| | | | llvm-svn: 43915
* AST for objective-c's @throw statement and its pretty-printing.Fariborz Jahanian2007-11-071-4/+6
| | | | llvm-svn: 43802
* Patch for objc2's property ASTs, as well as pretty-priting the ASTs.Fariborz Jahanian2007-11-061-6/+34
| | | | llvm-svn: 43778
* Implement rewrite rules for ObjC string constants.Steve Naroff2007-11-031-3/+3
| | | | llvm-svn: 43665
* pretty-print @try/@catch/@finally from AST as the validation of AST.Fariborz Jahanian2007-11-021-2/+3
| | | | llvm-svn: 43649
* AST for @try statement.Fariborz Jahanian2007-11-021-2/+7
| | | | llvm-svn: 43640
* AST for @finally statement.Fariborz Jahanian2007-11-021-3/+9
| | | | llvm-svn: 43629
* AST build for @catch clause (this is work in progress).Fariborz Jahanian2007-11-011-8/+19
| | | | llvm-svn: 43628
* Bunch of class declarations for objective-c's @try-catch statement.Fariborz Jahanian2007-11-011-5/+5
| | | | llvm-svn: 43623
OpenPOWER on IntegriCloud