summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseObjc.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve code completion for Objective-C message sends, so that weDouglas Gregor2009-11-191-2/+18
| | | | | | | | | | | provide completion results before each keyword argument, e.g., [foo Method:arg WithArg1:arg1 WithArg2:arg2] We now complete before "WithArg1" and before "WithArg2", in addition to completing before "Method". llvm-svn: 89290
* Rename CodeCompleteObjCProperty to something more specific. No functionality ↵Douglas Gregor2009-11-181-1/+1
| | | | | | change. llvm-svn: 89267
* Code completion after @dynamicDouglas Gregor2009-11-181-6/+13
| | | | llvm-svn: 89265
* Code completion for Objective-C @synthesized.Douglas Gregor2009-11-181-4/+12
| | | | llvm-svn: 89259
* Improve diagnostics and recovery when parsing @synthesized definitionsDouglas Gregor2009-11-181-2/+10
| | | | llvm-svn: 89227
* Implement code completion for Objective-C category names in @interfaceDouglas Gregor2009-11-181-0/+10
| | | | | | and @implementation declarations. llvm-svn: 89223
* Code completion for Objective-C class names after @interface,Douglas Gregor2009-11-181-0/+19
| | | | | | | @implementation, and in the declaration of the superclass of an @interface. llvm-svn: 89207
* Code completion after @property, providing the names of forward-declared ↵Douglas Gregor2009-11-181-0/+5
| | | | | | properties llvm-svn: 89196
* Code completion for Objective-C properly listsDouglas Gregor2009-11-181-0/+6
| | | | llvm-svn: 89194
* Rename Objective-C message send completion functions to indicate that we're ↵Douglas Gregor2009-11-171-2/+2
| | | | | | referring to message sends llvm-svn: 89164
* Pass source locations of identifiers referenced by @class through ↵Ted Kremenek2009-11-171-2/+6
| | | | | | Action::ActOnForwardClassDeclaration(). llvm-svn: 89162
* Fixes a typo, reported by Doug.Fariborz Jahanian2009-11-171-1/+1
| | | | llvm-svn: 89107
* Handle case of missing '@end' in implementation contextFariborz Jahanian2009-11-161-1/+13
| | | | | | | | gracefully, on par with gcc, by: Issuing a warning, doing final sematinc check of its definitions and generating its meta-data. llvm-svn: 88934
* Add FIXIT hint for -Wsemicolon-before-method-bodyTed Kremenek2009-11-101-2/+4
| | | | llvm-svn: 86746
* Make -Wsemicolon-before-method-body opt-in (and part of -Wextra). Addresses ↵Ted Kremenek2009-11-101-1/+1
| | | | | | <rdar://problem/7381735>. llvm-svn: 86731
* Add basic code completion support for ObjC messages.Steve Naroff2009-11-071-0/+7
| | | | | | Still a work in progress... llvm-svn: 86323
* Fix a bogus objective-c warning with -pedantic.Fariborz Jahanian2009-11-061-0/+2
| | | | | | (radar 7370882). llvm-svn: 86291
* add some fixit hints.Chris Lattner2009-11-061-1/+2
| | | | llvm-svn: 86240
* Change our basic strategy for avoiding deprecation warnings when the decl useJohn McCall2009-11-041-2/+10
| | | | | | | | | | | | appears in a deprecated context. In the new strategy, we emit the warnings as usual unless we're currently parsing a declaration, where "declaration" is restricted to mean a decl group or a few special cases in Objective C. If we *are* parsing a declaration, we queue up the deprecation warnings until the declaration has been completely parsed, and then emit them only if the decl is not deprecated. We also standardize the bookkeeping for deprecation so as to avoid special cases. llvm-svn: 85998
* Switch ParseStructDeclaration to a callback-based API. This will makeJohn McCall2009-11-031-54/+80
| | | | | | it easier to track within Sema whether the parser is parsing a declaration. llvm-svn: 85855
* Issue warning if method body starts with a semicolon.Fariborz Jahanian2009-10-201-1/+4
| | | | | | | Fixes <rdar://problem/7308503> clang should disallow the trailing semicolon in method definitions llvm-svn: 84645
* Move clients to use IdentifierInfo::getNameStart() instead of getName()Daniel Dunbar2009-10-181-1/+1
| | | | llvm-svn: 84436
* Add code completion support for ObjC property declarations/attributes.Steve Naroff2009-10-081-0/+4
| | | | llvm-svn: 83579
* Keep protocol source locations when parsing protocol references.Argyrios Kyrtzidis2009-09-291-8/+17
| | | | llvm-svn: 83091
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-136/+136
| | | | llvm-svn: 81346
* Fix a clang crash caused by incorrect user code.Fariborz Jahanian2009-06-241-1/+3
| | | | llvm-svn: 74080
* Use of DeclContext for objc's ivars. No functionalityFariborz Jahanian2009-06-051-0/+1
| | | | | | change. More to follow. llvm-svn: 72951
* Merge the ASTVector and ASTOwningVector templates, since they offeredDouglas Gregor2009-05-211-1/+0
| | | | | | | | redundant functionality. The result (ASTOwningVector) lives in clang/Parse/Ownership.h and is used by both the parser and semantic analysis. No intended functionality change. llvm-svn: 72214
* Use v.data() instead of &v[0] when SmallVector v might be empty.Jay Foad2009-05-211-10/+14
| | | | llvm-svn: 72210
* Make ActOnExprStmt take a FullExprArg.Anders Carlsson2009-05-171-1/+1
| | | | llvm-svn: 71989
* Remove support for ObjCMethodDecl attributes that appear between theTed Kremenek2009-05-041-10/+3
| | | | | | | | return type and the selector. This is inconsistent with C functions (where such attributes would be placed on the return type, not the the FunctionDecl), and is inconsistent with what people are use to seeing. llvm-svn: 70878
* Hook up Sema support for attributes on Objective-C method declarations thatTed Kremenek2009-04-301-2/+2
| | | | | | | | | | | | | appear between the return type and the selector. This is a separate code path from regular attribute processing, as we only want to (a) accept only a specific set of attributes in this place and (b) want to distinguish to clients the context in which an attribute was added to an ObjCMethodDecl. Currently, the attribute 'objc_ownership_returns' is the only attribute that uses this new feature. Shortly I will add a warning for 'objc_ownership_returns' to be placed at the end of a method declaration. llvm-svn: 70504
* Add parsing support in an Objective-C method declaration for attributes betweenTed Kremenek2009-04-301-0/+6
| | | | | | the return type and selector. Haven't hooked this up to Sema yet. llvm-svn: 70501
* Fix rdar://6771034: don't warn on use of forward declared protocol in protocolChris Lattner2009-04-121-1/+1
| | | | | | | list of another protocol definition. This warning is very noisy and GCC doesn't produce it so existing code doesn't expect it. llvm-svn: 68894
* change the interface to ActOnMethodDeclaration to pass down argumentChris Lattner2009-04-111-17/+16
| | | | | | | information in a little struct instead of individually. While we're at it, add per-argument loc info and attribute info. llvm-svn: 68871
* rename Parser::ParseObjCSelector -> Parser::ParseObjCSelectorPiece,Chris Lattner2009-04-111-7/+7
| | | | | | | since it only parses one identifier out of the selector, not the whole thing. llvm-svn: 68867
* Fixed a problem using property syntax on a 'super'Fariborz Jahanian2009-04-081-3/+5
| | | | | | used as receiver. llvm-svn: 68631
* Fix <rdar://problem/6764172> [sema] crash on invalid.Steve Naroff2009-04-071-1/+7
| | | | llvm-svn: 68568
* Push DeclGroup much farther throughout the compiler. Now the variousChris Lattner2009-03-291-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | productions (except the already broken ObjC cases like @class X,Y;) in the parser that can produce more than one Decl return a DeclGroup instead of a Decl, etc. This allows elimination of the Decl::NextDeclarator field, and exposes various clients that should look at all decls in a group, but which were only looking at one (such as the dumper, printer, etc). These have been fixed. Still TODO: 1) there are some FIXME's in the code about potentially using DeclGroup for better location info. 2) ParseObjCAtDirectives should return a DeclGroup due to @class etc. 3) I'm not sure what is going on with StmtIterator.cpp, or if it can be radically simplified now. 4) I put a truly horrible hack in ParseTemplate.cpp. I plan to bring up #3/4 on the mailing list, but don't plan to tackle #1/2 in the short term. llvm-svn: 68002
* Introduce a new OpaquePtr<N> struct type, which is a simple POD wrapper for aChris Lattner2009-03-281-81/+78
| | | | | | | | | | | | | | | | | | | | pointer. Its purpose in life is to be a glorified void*, but which does not implicitly convert to void* or other OpaquePtr's with a different UID. Introduce Action::DeclPtrTy which is a typedef for OpaquePtr<0>. Change the entire parser/sema interface to use DeclPtrTy instead of DeclTy*. This makes the C++ compiler enforce that these aren't convertible to other opaque types. We should also convert ExprTy, StmtTy, TypeTy, AttrTy, BaseTy, etc, but I don't plan to do that in the short term. The one outstanding known problem with this patch is that we lose the bitmangling optimization where ActionResult<DeclPtrTy> doesn't know how to bitmangle the success bit into the low bit of DeclPtrTy. I will rectify this with a subsequent patch. llvm-svn: 67952
* objc: Implemented variables declared in class interface Fariborz Jahanian2009-03-181-2/+7
| | | | | | whose sema decl is at the translation unit. llvm-svn: 67249
* Use paropery's setter attribute name asFariborz Jahanian2009-03-121-7/+7
| | | | | | the selector for the property setter. llvm-svn: 66834
* Simplify SelectorTable::constructSetterName() usage...Steve Naroff2009-03-101-4/+5
| | | | llvm-svn: 66551
* Implement property '.' notation on Factory/Class objects. Parser changes ↵Steve Naroff2009-03-091-14/+3
| | | | | | | | aren't very pretty:-( This fixes <rdar://problem/6496506> Implement class setter/getter for properties. llvm-svn: 66465
* rename PrettyStackTraceDecl -> PrettyStackTraceActionsDecl.Chris Lattner2009-03-051-3/+3
| | | | | | | | | | | | | | | | Introduce a new PrettyStackTraceDecl. Use it to add the top level LLVM IR generation stuff in Backend.cpp to stack traces. We now get crashes like: Stack dump: 0. Program arguments: clang t.c -emit-llvm 1. <eof> parser at end of file 2. t.c:1:5: LLVM IR generation of declaration 'a' Abort for IR generation crashes. llvm-svn: 66153
* include objc method decl contexts in stack trace of crash, e.g.:Chris Lattner2009-03-051-0/+5
| | | | | | | | | Stack dump: 0. message.m:53:13: in compound statement ('{}') 1. message.m:53:13: parsing Objective-C method 'xx' 2. clang message.m llvm-svn: 66121
* Implemented access check for ivars accessed insideFariborz Jahanian2009-03-041-2/+5
| | | | | | c-style functions declared inside objc @implementations. llvm-svn: 66087
* Fix <rdar://problem/6640991> Exception handling executes wrong clause ↵Steve Naroff2009-03-031-13/+10
| | | | | | | | | | | (Daniel, please verify). Also necessary to fix: <rdar://problem/6632061> [sema] non object types should not be allowed in @catch statements <rdar://problem/6252237> [sema] qualified id should be disallowed in @catch statements llvm-svn: 65964
* Fix <rdar://problem/6636803> [sema] crash on InterfaceBuilder.Steve Naroff2009-03-021-2/+3
| | | | | | Parser::ParseObjCMethodDefinition(): Make sure we don't exit the BodyScope until ActOnFinishFunctionBody() is complete. llvm-svn: 65880
* Minor name change (move the ObjC prefix to a more appropriate place).Steve Naroff2009-02-281-1/+1
| | | | llvm-svn: 65695
OpenPOWER on IntegriCloud