aboutsummaryrefslogtreecommitdiff
path: root/Parse/ParseObjc.cpp
AgeCommit message (Collapse)Author
2007-09-16Fixes/tweaks that prevent "defaults-i.m" from compiling.Steve Naroff
- Allow classnames as the receiver (removing a FIXME from ParseObjCMessageExpression). - Added a FIXME to ParseObjCMessageExpression()...we need to return a message expr AST node! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42001 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-15Start converting Action methods from Parse-prefix to ActOn-prefix.Steve Naroff
The previous naming scheme was confusing, since it resulted in both the Parser and Action modules having methods with the same name. In addition, the Action module never does any parsing... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41986 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-14Rename Action::ParseRecordBody() to ProcessFieldDecls(), and add a ↵Steve Naroff
visibility argument. Remove Action::ObjcAddVisibilityToIvars(). No need for an extra API when it is trivial to add this info to the previous hook. In general, I want to start migrating away from having Actions prefixed with "Parse" (which is confusing, since the Action API doesn't do any parsing, per se). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41973 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-14Patch to store ivars into interface class object.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41961 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-14Semantic analysis for objective-c ivars.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41954 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-13Patch for collecting ivars before running action on them.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41932 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-12Patch for building method declaration nodes. Also fixed a segfault in ↵Fariborz Jahanian
cocoa.m due to use of @property. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41880 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-10Some small tweaks to the recent Objc support...Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41803 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-10Early patch to collect objective-c methods inserts them inFariborz Jahanian
class object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41801 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-06The goal of this commit is to get just enough Sema support to recognize ↵Steve Naroff
Objective-C classes as types. That said, the AST nodes ObjcInterfaceDecl, ObjcInterfaceType, and ObjcClassDecl are *very* preliminary. The good news is we no longer need -parse-noop (aka MinimalActions) to parse cocoa.m. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41752 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-05Start implementing Actions interface for ObjC classes, instance variables, ↵Steve Naroff
and methods. Lot's of small changes to the parser. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41732 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-05Patch for parsing objective-c style method calls.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41731 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-051. Fix parsing of method prototype involving c-style argument declarations.Fariborz Jahanian
2. Fixes all allowable key-words used as selectors. 3. Template to do the messaging parse. 4. A test case for all allowable selector names. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41723 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-04Fixed a typo pointed out by Anders Calrsson.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41716 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-04Patch to parse objective-c's @compatibility_alias directive.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41709 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-01Patch to parse @implementation prologue, method definitions,Fariborz Jahanian
objc2's @synthesize and @dynamic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41667 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-31Author: F. JahanianFariborz Jahanian
Log: Implement parsing of objective-c's new @property declaration. Modified: include/clang/Basic/DiagnosticKinds.def include/clang/Parse/Parser.h Parse/ParseObjc.cpp Parse/Parser.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41644 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-29cleanup context-sensitive objc keyword recognition. Patch by Fariborz Jahanian.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41583 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-23- Cleanup "hack" comment and fix typos.Steve Naroff
- Use getLang().ObjC2 when appropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41333 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-23Add helper functions Token::isObjCAtKeyword() and Token::getObjCKeywordID().Steve Naroff
Convert all clients to the new cleaner, more robust API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41330 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-23As suggested by Chris, use MatchRHSPunctuation instead of manually looking ↵Anders Carlsson
for a right parenthesis when parsing @encode() and @protocol(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41321 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-23Parse ObjC @protocol expressions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41320 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22With this commit, we now successfully parse "Cocoa.h"!Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41303 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22Add support for parsing protocols.Steve Naroff
Now we can parse quite a bit of "Foundation.h" (a couple bugs remain). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41300 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22Finish up method prototype parsing.Steve Naroff
Next step...starting installing class names into the type namespace (so we can start parsing Cocoa headers). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41283 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22Add support for parsing method prototypes (and other stuff required by ↵Steve Naroff
@interface). Still need to finish Parser::ParseObjCMethodDecl(). Before I do, I need to do a minor refactoring of ParseDeclarationOrFunctionDefinition(), to disallow function definitions. At the moment, @inteface allows function defs (which is incorrect). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41275 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22Parse @encode expressions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41273 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21Implement parsing for objc instance variables.Steve Naroff
Next step, method... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41251 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21Implement parsing and code generation of Objective-C string literals.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41238 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20Start parsing ObjC classes/categories!Steve Naroff
Next step, refactor Parser::ParseStructUnionBody() so that struct declarations can be shared with Objective-C (for declaring instance variables). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41200 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11Stage two of getting CFE top correct.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39734 91177308-0d34-0410-b5e6-96231b3b80d8