- Jan 09, 2009
-
-
Daniel Dunbar authored
categories. - Also, simplify nesting via early return. llvm-svn: 61968
-
rdar://problem/6479085Douglas Gregor authored
rewrite @class declarations that showed up within linkage specifications because those @class declarations never made it any place where the rewriter could find them. Moved all of the ObjC*Decl nodes over to ScopedDecls, so that they can live in the appropriate top-level or transparent DeclContext near the top level, e.g., TranslationUnitDecl or LinkageSpecDecl. Objective-C declarations now show up in a traversal of the declarations in a DeclContext (they didn't before!). This way, the rewriter finds all Objective-C declarations within linkage specifications. llvm-svn: 61966
-
- Jan 08, 2009
-
-
Ted Kremenek authored
Fix ObjCInterfaceDecl::Destroy and ObjCProtocolDecl::Destroy to iterate and destroy all contained ObjCMethodDecls in one sweep. This fixes a use-after-free error found by valgrind. llvm-svn: 61943
-
Steve Naroff authored
Moved logic to Sema::ProcessPropertyDecl(). llvm-svn: 61936
-
Steve Naroff authored
Convert clients to use the standard getDeclContext() API. Doug, thanks for the review! llvm-svn: 61935
-
Steve Naroff authored
- ObjCContainerDecl's (ObjCInterfaceDecl/ObjCCategoryDecl/ObjCProtocolDecl), ObjCCategoryImpl, & ObjCImplementation are all DeclContexts. - ObjCMethodDecl is now a ScopedDecl (so it can play nicely with DeclContext). - ObjCContainerDecl now does iteration/lookup using DeclContext infrastructure (no more linear search:-) - Removed ASTContext argument to DeclContext::lookup(). It wasn't being used and complicated it's use from an ObjC AST perspective. - Added Sema::ProcessPropertyDecl() and removed Sema::diagnosePropertySetterGetterMismatch(). - Simplified Sema::ActOnAtEnd() considerably. Still more work to do. - Fixed an incorrect casting assumption in Sema::getCurFunctionOrMethodDecl(), now that ObjCMethodDecl is a ScopedDecl. - Removed addPropertyMethods from ObjCInterfaceDecl/ObjCCategoryDecl/ObjCProtocolDecl. This passes all the tests on my machine. Since many of the changes are central to the way ObjC finds it's methods, I expect some fallout (and there are still a handful of FIXME's). Nevertheless, this should be a step in the right direction. llvm-svn: 61929
-
- Jan 07, 2009
-
-
Steve Naroff authored
Add ObjCContainerDecl class and have ObjCInterfaceDecl/ObjCCategoryDecl/ObjCProtocolDecl inherit from it. llvm-svn: 61866
-
- Dec 22, 2008
-
-
Fariborz Jahanian authored
instance methods by building print-class-info.m, whose output is now identical to what gcc puts out. llvm-svn: 61339
-
- Dec 18, 2008
-
-
- Dec 17, 2008
-
-
Fariborz Jahanian authored
Note that one test duplicate-ivar-check.m will fail because I need to re-implement duplicate ivar checking. llvm-svn: 61154
-
Fariborz Jahanian authored
llvm-svn: 61144
-
rdar://problem/6450964Steve Naroff authored
Fix <rdar://problem/6450964> clang on xcode: Assertion failed: (RecordForDecl && "lookupFieldDeclForIvar no storage for class"). This was a recent regression caused by r61043 (related to code gen. for ivar references). Fariborz, please review. I have some other concerns related to code generation for ivars that we can discuss later. llvm-svn: 61134
-
- Dec 16, 2008
-
-
Fariborz Jahanian authored
be duplicates and a test case. llvm-svn: 61068
-
- Dec 15, 2008
-
-
Fariborz Jahanian authored
is done. Layout is calculated lazily at code gen type. This patch changes the name. llvm-svn: 61054
-
Fariborz Jahanian authored
ivars. llvm-svn: 61043
-
Fariborz Jahanian authored
llvm-svn: 61038
-
- Dec 13, 2008
-
-
Fariborz Jahanian authored
matching the storage layout for this ivar llvm-svn: 60996
-
Fariborz Jahanian authored
llvm-svn: 60993
-
- Dec 11, 2008
-
-
Douglas Gregor authored
and separates lexical name lookup from qualified name lookup. In particular: * Make DeclContext the central data structure for storing and looking up declarations within existing declarations, e.g., members of structs/unions/classes, enumerators in C++0x enums, members of C++ namespaces, and (later) members of Objective-C interfaces/implementations. DeclContext uses a lazily-constructed data structure optimized for fast lookup (array for small contexts, hash table for larger contexts). * Implement C++ qualified name lookup in terms of lookup into DeclContext. * Implement C++ unqualified name lookup in terms of qualified+unqualified name lookup (since unqualified lookup is not purely lexical in C++!) * Limit the use of the chains of declarations stored in IdentifierInfo to those names declared lexically. * Eliminate CXXFieldDecl, collapsing its behavior into FieldDecl. (FieldDecl is now a ScopedDecl). * Make RecordDecl into a DeclContext and eliminates its Members/NumMembers fields (since one can just iterate through the DeclContext to get the fields). llvm-svn: 60878
-
- Dec 09, 2008
-
-
Fariborz Jahanian authored
has added declaration of these methods in its @interface. llvm-svn: 60803
-
Fariborz Jahanian authored
the synthesis is in an implementation of s subclass of a super class where the property has been declared. llvm-svn: 60792
-
- Dec 08, 2008
-
-
Steve Naroff authored
Fixes <rdar://problem/6418640> clang on prokit: error: incompatible type returning 'id', expected 'NSSize' llvm-svn: 60716
-
- Dec 07, 2008
-
-
Fariborz Jahanian authored
via the category's protocol list1s, with appropriate diagnsostics and a test case. llvm-svn: 60634
-
- Dec 05, 2008
-
-
Fariborz Jahanian authored
llvm-svn: 60611
-
Fariborz Jahanian authored
property. It also checks for duplicate use of the same ivar in two different iproperty implementations. It also caught an error for a test case used in CodeGen :). llvm-svn: 60610
-
- Dec 02, 2008
-
-
Fariborz Jahanian authored
a property. Previous scheme of seaching in interface's list of methods would not work because this list is not yet constructed. This is in preparation for doing semantic check on viability of setter/getter method declarations. llvm-svn: 60386
-
- Nov 25, 2008
-
-
Fariborz Jahanian authored
llvm-svn: 60050
-
- Nov 24, 2008
-
-
Chris Lattner authored
assert if the name is not an identifier. Update callers to do the right thing and avoid this method in unsafe cases. This also fixes an objc warning that was missing a space, and migrates a couple more to taking IdentifierInfo and QualTypes instead of std::strings. llvm-svn: 59936
-
Chris Lattner authored
a new NamedDecl::getAsString() method. Change uses of Selector::getName() to just pass in a Selector where possible (e.g. to diagnostics) instead of going through an std::string. This also adds new formatters for objcinstance and objcclass as described in the dox. llvm-svn: 59933
-
- Nov 17, 2008
-
-
Douglas Gregor authored
representing the names of declarations in the C family of languages. DeclarationName is used in NamedDecl to store the name of the declaration (naturally), and ObjCMethodDecl is now a NamedDecl. llvm-svn: 59441
-
- Aug 27, 2008
-
-
Daniel Dunbar authored
llvm-svn: 55406
-
Daniel Dunbar authored
ObjC{Category,Protocol}Decl. - No functionality change. llvm-svn: 55404
-
- Aug 26, 2008
-
-
Daniel Dunbar authored
Respect isReadOnly when generating synthesized method decls. llvm-svn: 55364
-
Daniel Dunbar authored
No (intended) functionality change. llvm-svn: 55362
-
Daniel Dunbar authored
Move implicit Obj-C param creation into ObjCMethodDecl. - Add ObjCMethodDecl::createImplicitParams. - Remove ObjCMethodDecl::set{Self,Cmd}Decl - Remove Sema::CreateImplicitParameter No (intended) functionality change. llvm-svn: 55357
-
Daniel Dunbar authored
- Change enum name to Kind. - Change enum constants to English strings. Also, fix getPropertyImplementation (which probably should be renamed) llvm-svn: 55354
-
Daniel Dunbar authored
llvm-svn: 55353
-
Daniel Dunbar authored
- Also, fix Parser to construct proper SetterName selector (should be lifted out of parser though). llvm-svn: 55352
-
- Aug 20, 2008
-
-
Daniel Dunbar authored
- Drop MethodAttrs parameter to ObjCMethodDecl - Call ProcessDeclAttributeList for interface & method decls. llvm-svn: 55068
-
Ted Kremenek authored
This fixes an ownership issue where FieldDecls could be owned both by an ObjCInterfaceDecl and a RecordDecl. llvm-svn: 55037
-