summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclObjC.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Patch to diagnose inconsistancies between properties declared in current andFariborz Jahanian2008-04-241-0/+68
| | | | | | its super class. This patch is incomplete. llvm-svn: 50228
* Patch to build AST for property implementation declarations andFariborz Jahanian2008-04-231-16/+18
| | | | | | to print declaration from its AST. llvm-svn: 50117
* More semantics checks of properties. Property implementation can implicitly useFariborz Jahanian2008-04-211-5/+4
| | | | | | | ivar of same name. Better diagnostics to bring home this point. llvm-svn: 50065
* Support for @dynamic AST build.Fariborz Jahanian2008-04-211-7/+19
| | | | | | | More property semantics checking. First test case for ObjC2's property implementation. llvm-svn: 50057
* Continuation of work on ObjC2's properties.Fariborz Jahanian2008-04-211-36/+15
| | | | | | | | Added iterators, methods to find property and categories. Use them in doing semantic analysis on property implementation declarations. Fixed typos. llvm-svn: 50050
* Fixed a bug in categories and properties.Fariborz Jahanian2008-04-181-1/+1
| | | | llvm-svn: 49883
* Initial work for property implementation declarations.Fariborz Jahanian2008-04-181-1/+112
| | | | | | | Mostly semantic checking in this patch. This is on going and incomplete. llvm-svn: 49882
* Added property decl support for protocols.Fariborz Jahanian2008-04-171-3/+5
| | | | | | | 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
* This patch adds support for declaraing properties in categories,Fariborz Jahanian2008-04-161-0/+3
| | | | | | just as they are declared in objc classes. llvm-svn: 49817
* New AST representation for each objc2's property declaration.Fariborz Jahanian2008-04-141-16/+5
| | | | llvm-svn: 49699
* AST generation for objc2's property declarations.Fariborz Jahanian2008-04-111-19/+28
| | | | llvm-svn: 49565
* Add class and super class location info to ObjCInterfaceDecl...Steve Naroff2008-04-111-3/+4
| | | | llvm-svn: 49553
* Switch sema to maintaining its own scope chain information for variableChris Lattner2008-04-111-2/+3
| | | | | | | shadowing, instead of threading it through the AST. This patch contributed by Argiris Kirtzidis! llvm-svn: 49520
* Several improvements from Doug Gregor related to defaultChris Lattner2008-04-101-1/+1
| | | | | | argument handling. I'll fix up the c89 (void) thing next. llvm-svn: 49459
* Add support for C++ default arguments, and rework Parse-Sema Chris Lattner2008-04-081-16/+15
| | | | | | | | interaction for function parameters, fixing PR2046. Patch by Doug Gregor! llvm-svn: 49369
* remove the Decl::getCanonicalType() method.Chris Lattner2008-04-061-1/+2
| | | | llvm-svn: 49295
* This patch contains these changes:Chris Lattner2008-04-061-1/+1
| | | | | | | | | | -Renamed ContextDecl -> DeclContext -Removed DeclContext pointer from FieldDecl -EnumDecl inherits from DeclContext, instead of TagDecl Patch by Argiris Kirtzidis! llvm-svn: 49261
* Introduce ContextDecl, patch by Argiris Kirtzidis!Chris Lattner2008-04-041-16/+19
| | | | | | | | | | | -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
* Change ObjCInterfaceDecl to inherit from NamedDecl (not TypeDecl). While ↵Steve Naroff2008-04-021-9/+3
| | | | | | | | ObjCInterfaceDecl is arguably a TypeDecl, it isn't a ScopedDecl. Since TypeDecl's are scoped, it makes sense to simply treat them as NamedDecl's. I could have fiddled a bit more with the hierarchy (in terms of creating a non-scoped TypeDecl), however this probably isn't worth the effort. I also finished unifying access to scope decl change by converting Sema::getObjCInterfaceDecl() to use Sema::LookupDecl(). This is much cleaner now:-) llvm-svn: 49107
* Two changes to Sema::LookupDecl() interface. Steve Naroff2008-04-021-11/+7
| | | | | | | | | | | (1) Remove IdLoc (it's never used). (2) Add a bool to enable/disable lazy builtin creaation (defaults to true). This enables us to use LookupDecl() in Sema::isTypeName(), which is also part of this commit. To make this work, I changed isTypeName() to be a non-const member function. I'm not happy with this, however I fiddled with making LookupDecl() and friends const and it got ugly pretty quickly. We can certainly add it back if/when someone has time to fiddle with it. For now, I thought this simplification was more important than retaining the const-ness. llvm-svn: 49087
* Fairly large "cleaup" related to changing ObjCCompatibleAliasDecl superclass ↵Steve Naroff2008-04-011-19/+20
| | | | | | | | | | | | | (to inherit from NamedDecl, instead of ScopedDecl). - Added a DenseMap to associate an IdentifierInfo with the ObjCCompatibleAliasDecl. - Renamed LookupScopedDecl->LookupDecl and changed it's return type to Decl. Also added lookup for ObjCCompatibleAliasDecl's. - Removed Sema::LookupInterfaceDecl(). Converted clients to used LookupDecl(). - Some minor indentation changes. Will deal with ObjCInterfaceDecl and getObjCInterfaceDecl() in a separate commit... llvm-svn: 49058
* clean up property memory allocation to move it into the ast classesChris Lattner2008-03-171-15/+14
| | | | | | like the rest of the classes. llvm-svn: 48434
* make property addition work list all other "add" methods. Do Chris Lattner2008-03-161-7/+2
| | | | | | the allocation in the class, not in sema. llvm-svn: 48433
* add the last two Create methods for decls, woo!Chris Lattner2008-03-161-20/+22
| | | | llvm-svn: 48432
* add two more Create methods.Chris Lattner2008-03-161-3/+5
| | | | llvm-svn: 48428
* simplify the way ObjCCategoryDecl's get their referenced protocols listChris Lattner2008-03-161-5/+8
| | | | | | | | 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-5/+7
| | | | llvm-svn: 48426
* minor cleanups, make getNumInstanceMethods always return unsigned.Chris Lattner2008-03-161-7/+7
| | | | llvm-svn: 48423
* fix a crasher where an invalid program that multiply definedChris Lattner2008-03-161-7/+9
| | | | | | a protocol could smash more references in than are allocated. llvm-svn: 48411
* Give ObjCProtocolDecl a Create method.Chris Lattner2008-03-161-4/+4
| | | | llvm-svn: 48410
* Add create methods for ObjCIvarDecl and ObjCInterfaceDeclChris Lattner2008-03-161-4/+6
| | | | llvm-svn: 48408
* Make the parameter count of ObjCMethodDecl unsigned, youChris Lattner2008-03-161-2/+2
| | | | | | can't have negative arguments. llvm-svn: 48407
* remove some dead arguments to ObjCMethodDecl.Chris Lattner2008-03-161-1/+1
| | | | llvm-svn: 48406
* Give ObjCMethodDecl a Create method.Chris Lattner2008-03-161-12/+12
| | | | llvm-svn: 48405
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+927
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
OpenPOWER on IntegriCloud