aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/DeclObjC.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-02-20 06:10:45 +0000
committerChris Lattner <sabre@nondot.org>2009-02-20 06:10:45 +0000
commite881483a3bc22ffad62367501aa09ad8508fe363 (patch)
tree18bcc8654972ec1ac3ed13cb05d4119428903264 /lib/AST/DeclObjC.cpp
parent0b7ebb3dba0df0a6cbf221e5edbc6a4b8848478c (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.cpp19
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'.
///