diff options
author | Chris Lattner <sabre@nondot.org> | 2009-02-20 06:10:45 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-02-20 06:10:45 +0000 |
commit | e881483a3bc22ffad62367501aa09ad8508fe363 (patch) | |
tree | 18bcc8654972ec1ac3ed13cb05d4119428903264 /lib/AST/DeclObjC.cpp | |
parent | 0b7ebb3dba0df0a6cbf221e5edbc6a4b8848478c (diff) |
switch the interface ivar list from being explicitly managed to using ObjCList.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65113 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/DeclObjC.cpp')
-rw-r--r-- | lib/AST/DeclObjC.cpp | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/lib/AST/DeclObjC.cpp b/lib/AST/DeclObjC.cpp index 3417a302dc..629dcca678 100644 --- a/lib/AST/DeclObjC.cpp +++ b/lib/AST/DeclObjC.cpp @@ -63,7 +63,7 @@ ObjCInterfaceDecl:: ObjCInterfaceDecl(DeclContext *DC, SourceLocation atLoc, IdentifierInfo *Id, SourceLocation CLoc, bool FD, bool isInternal) : ObjCContainerDecl(ObjCInterface, DC, atLoc, Id), - TypeForDecl(0), SuperClass(0), Ivars(0), NumIvars(0), + TypeForDecl(0), SuperClass(0), CategoryList(0), ForwardDecl(FD), InternalInterface(isInternal), ClassLoc(CLoc) { } @@ -72,8 +72,7 @@ void ObjCInterfaceDecl::Destroy(ASTContext &C) { for (ivar_iterator I=ivar_begin(), E=ivar_end(); I!=E; ++I) if (*I) (*I)->Destroy(C); - delete [] Ivars; - Ivars = 0; + IVars.clear(); // FIXME: CategoryList? // FIXME: Because there is no clear ownership @@ -267,20 +266,6 @@ ObjCCategoryDecl * return 0; } -/// ObjCAddInstanceVariablesToClass - Inserts instance variables -/// into ObjCInterfaceDecl's fields. -/// -void ObjCInterfaceDecl::addInstanceVariablesToClass(ObjCIvarDecl **ivars, - unsigned numIvars, - SourceLocation RBrac) { - NumIvars = numIvars; - if (numIvars) { - Ivars = new ObjCIvarDecl*[numIvars]; - memcpy(Ivars, ivars, numIvars*sizeof(ObjCIvarDecl*)); - } - setLocEnd(RBrac); -} - /// lookupFieldDeclForIvar - looks up a field decl' in the laid out /// storage which matches this 'ivar'. /// |