summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclObjC.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Rename ObjCPropertyImplDecl::PropertyImplKind (consistency)Daniel Dunbar2008-08-261-2/+2
| | | | | | | | | - Change enum name to Kind. - Change enum constants to English strings. Also, fix getPropertyImplementation (which probably should be renamed) llvm-svn: 55354
* Fix return type for setter method.Daniel Dunbar2008-08-261-1/+1
| | | | llvm-svn: 55353
* Synthesize property setter method as we do for getter.Daniel Dunbar2008-08-261-14/+38
| | | | | | | - Also, fix Parser to construct proper SetterName selector (should be lifted out of parser though). llvm-svn: 55352
* Fix attributes on Obj-C interfaces & methods.Daniel Dunbar2008-08-201-4/+3
| | | | | | | - Drop MethodAttrs parameter to ObjCMethodDecl - Call ProcessDeclAttributeList for interface & method decls. llvm-svn: 55068
* Added ObjCAtDefsFieldDecl to represent FieldDecls created by @defs.Ted Kremenek2008-08-201-0/+13
| | | | | | This fixes an ownership issue where FieldDecls could be owned both by an ObjCInterfaceDecl and a RecordDecl. llvm-svn: 55037
* More #include cleaningDaniel Dunbar2008-08-111-0/+1
| | | | | | | | - Drop Expr.h,RecordLayout.h from ASTContext.h (for DeclBase.h and SourceLocation.h) - Move ASTContext constructor into implementation llvm-svn: 54627
* When constructing an ObjCIvarDecl object in Sema, provide its visibility up ↵Ted Kremenek2008-07-231-2/+3
| | | | | | | | front instead of setting it afterwards. This change also fixes a subtle bug where the access control of an ivar would be initialized to garbage if we didn't have an explicit visibility specifier (e.g., @private). llvm-svn: 53955
* move two more lists of protocols over to use ObjCList<ObjCProtocolDecl>,Chris Lattner2008-07-211-34/+10
| | | | | | simplifying code along the way and fixing a problem and memory leak or two. llvm-svn: 53876
* introduce a new ObjCList templated class and start moving Chris Lattner2008-07-211-21/+12
| | | | | | | various objc lists over to it. First up, the protocol list on ObjCInterfaceDecl. llvm-svn: 53856
* rename setReferencedProtocolList -> addReferencedProtocols toChris Lattner2008-07-211-2/+2
| | | | | | be consistent with ObjCInterfaceDecl. llvm-svn: 53852
* Switch initialization of the protocol list for an interface decl to useChris Lattner2008-07-211-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | the standard "set these as the list of protocols" interface instead of a strange "set this as the size and then set each one to the value" interface. The problem with the later is that it a) is completely different from everything else, b) is awkward, and c) doesn't handle the case when a referenced protocol is invalid: it set it to null. This meant that all clients downstream would have to handle null protocols in the protocol list, and empirically they didn't. Fix this by not setting invalid protocols in the referenced protocol list, fixing the crash on test/Sema/objc-interface-1.m While I'm at it, clean up some locations so that we produce: t.m:1:25: error: cannot find interface declaration for 'NSObject', superclass of 'NSWhatever' @interface NSWhatever : NSObject <NSCopying> ~~~~~~~~~~~~~~~~~~~~~ ^ instead of: t.m:1:1: error: cannot find interface declaration for 'NSObject', superclass of 'NSWhatever' @interface NSWhatever : NSObject <NSCopying> ^ llvm-svn: 53846
* Two fixes:Steve Naroff2008-07-161-2/+2
| | | | | | | - Make sure ObjCIvarDecl propagates the bitfield width. - RewriteObjC::SynthesizeIvarOffsetComputation(): Avoid using the __OFFSETOF__ mumbo jumbo for bitfields (since it isn't legal C). This fixes <rdar://problem/5986079> clang ObjC rewriter: bitfields and ivar access don't mix. llvm-svn: 53694
* Reclaim memory owned by ObjCForwardProtocolDecls.Ted Kremenek2008-06-061-0/+4
| | | | llvm-svn: 52063
* Implement "Destroy" and destructor for ObjCClassDecl, allowing us to reclaim ↵Ted Kremenek2008-06-061-0/+17
| | | | | | its memory and the memory of the Decls it owns. llvm-svn: 52059
* Implement "Destroy" and destructor for ObjCProtocolDecl, allowing us to ↵Ted Kremenek2008-06-061-0/+25
| | | | | | reclaim its memory and the memory of the Decls it owns. llvm-svn: 52055
* Because of a lack of a clear ownership role between ObjCInterfaceDecls andTed Kremenek2008-06-061-7/+5
| | | | | | | ObjCPropertyDecls, have TranslationUnit destroy ObjCPropertyDecls. This is a horrible hack, and must be removed eventually. llvm-svn: 52051
* Initial work on additional memory collection for ObjC AST objects. We nowTed Kremenek2008-06-061-4/+43
| | | | | | | | have Destroy methods of ObjcMethodDecl and ObjCInterfaceDecl which recursively destroy their owned Decls and Stmts. There are a few cases where it is not clear what to do (FIXMEs included in the patch). llvm-svn: 52050
* Fix <rdar://problem/5987482> clang on xcode: null dereference in ↵Steve Naroff2008-06-051-0/+22
| | | | | | | | Sema::ActOnMemberReferenceExpr. In addition to fixing the crasher, this commit fixes further improves property lookup (by searching protocols of qualified interfaces..."NSObject <prot>"). llvm-svn: 52001
* Make sure we look through categories when searching for a classes property.Steve Naroff2008-06-041-0/+7
| | | | | | Fixes <rdar://problem/5984338> clang on xcode: property implementation must have its declaration in interface 'PBXOpenQuicklyModule' llvm-svn: 51925
* fix free/delete mismatch problem in add/mergeProperties (found by valgrind)Nuno Lopes2008-05-101-4/+2
| | | | llvm-svn: 50945
* Synthesized getter/setter method declarations need not haveFariborz Jahanian2008-05-071-2/+3
| | | | | | | an implementation. This fixes couple of failing prperty tests caused by my previous patch. llvm-svn: 50830
* This patch introduces declaration of getter methods for ObjC2'sFariborz Jahanian2008-05-071-0/+30
| | | | | | | properties. Couple of property tests will fail with this patch. Will fix them next. llvm-svn: 50818
* percolate @optional/@required protocols down to ASTs forFariborz Jahanian2008-05-051-1/+2
| | | | | | properties declared in the protocol. llvm-svn: 50662
* This patch is about merging ObjC2's properties declared in classFariborz Jahanian2008-05-021-0/+27
| | | | | | | protocols into class's property list and performing semantics on them for while doing so. llvm-svn: 50587
* Patch to build AST for property implementation declarations andFariborz Jahanian2008-04-231-0/+9
| | | | | | to print declaration from its AST. llvm-svn: 50117
* Allow property in base class to be implemented in a Fariborz Jahanian2008-04-211-0/+4
| | | | | | derived class. llvm-svn: 50074
* Continuation of work on ObjC2's properties.Fariborz Jahanian2008-04-211-0/+55
| | | | | | | | Added iterators, methods to find property and categories. Use them in doing semantic analysis on property implementation declarations. Fixed typos. llvm-svn: 50050
* Added property decl support for protocols.Fariborz Jahanian2008-04-171-0/+12
| | | | | | | Added assertion if unexpected property decls are found where they don't belong. Consolidated property decl. printing by using a helper function. llvm-svn: 49862
* Fixed a comment.Fariborz Jahanian2008-04-161-1/+1
| | | | llvm-svn: 49819
* This patch adds support for declaraing properties in categories,Fariborz Jahanian2008-04-161-2/+14
| | | | | | just as they are declared in objc classes. llvm-svn: 49817
* New AST representation for each objc2's property declaration.Fariborz Jahanian2008-04-141-1/+2
| | | | llvm-svn: 49699
* AST generation for objc2's property declarations.Fariborz Jahanian2008-04-111-12/+3
| | | | llvm-svn: 49565
* Add class and super class location info to ObjCInterfaceDecl...Steve Naroff2008-04-111-2/+3
| | | | llvm-svn: 49553
* Fix a bug I introduced in my const'ification patch.Chris Lattner2008-04-061-4/+3
| | | | llvm-svn: 49262
* This patch contains these changes:Chris Lattner2008-04-061-3/+2
| | | | | | | | | | -Renamed ContextDecl -> DeclContext -Removed DeclContext pointer from FieldDecl -EnumDecl inherits from DeclContext, instead of TagDecl Patch by Argiris Kirtzidis! llvm-svn: 49261
* fix a number of const qualification bugs.Chris Lattner2008-04-061-1/+1
| | | | llvm-svn: 49257
* Introduce ContextDecl, patch by Argiris Kirtzidis!Chris Lattner2008-04-041-14/+28
| | | | | | | | | | | -Added ContextDecl (no TranslationUnitDecl) -ScopedDecl class has a ContextDecl member -FieldDecl class has a ContextDecl member, so that a Field or a ObjCIvar can be traced back to their RecordDecl/ObjCInterfaceDecl easily -FunctionDecl, ObjCMethodDecl, TagDecl, ObjCInterfaceDecl inherit from ContextDecl. With TagDecl as ContextDecl, enum constants have a EnumDecl as their context. -Moved Decl class to a "DeclBase.h" along with ContextDecl class -CurContext is handled by Sema llvm-svn: 49208
* clean up property memory allocation to move it into the ast classesChris Lattner2008-03-171-0/+12
| | | | | | like the rest of the classes. llvm-svn: 48434
* make property addition work list all other "add" methods. Do Chris Lattner2008-03-161-0/+12
| | | | | | the allocation in the class, not in sema. llvm-svn: 48433
* add the last two Create methods for decls, woo!Chris Lattner2008-03-161-0/+13
| | | | llvm-svn: 48432
* add two more Create methods.Chris Lattner2008-03-161-0/+15
| | | | llvm-svn: 48428
* simplify the way ObjCCategoryDecl's get their referenced protocols listChris Lattner2008-03-161-2/+12
| | | | | | | | specified. Previously, the ctor would allocate memory for the list and then it would get filled in later. Move the allocation+filling in to be more consistent with other stuff, e.g. the addMethods method. llvm-svn: 48427
* Add create methods for ObjCCategoryDecl, ObjCForwardProtocolDecl, ObjCClassDecl.Chris Lattner2008-03-161-0/+20
| | | | llvm-svn: 48426
* minor cleanups, make getNumInstanceMethods always return unsigned.Chris Lattner2008-03-161-3/+2
| | | | llvm-svn: 48423
* Give ObjCProtocolDecl a Create method.Chris Lattner2008-03-161-0/+8
| | | | llvm-svn: 48410
* Add create methods for ObjCIvarDecl and ObjCInterfaceDeclChris Lattner2008-03-161-0/+14
| | | | llvm-svn: 48408
* remove some dead arguments to ObjCMethodDecl.Chris Lattner2008-03-161-5/+3
| | | | llvm-svn: 48406
* Give ObjCMethodDecl a Create method.Chris Lattner2008-03-161-0/+20
| | | | llvm-svn: 48405
* Split objc decl implementation out into DeclObjC.cppChris Lattner2008-03-161-0/+312
llvm-svn: 48404
OpenPOWER on IntegriCloud