diff options
author | Chris Lattner <sabre@nondot.org> | 2008-02-05 22:40:55 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-02-05 22:40:55 +0000 |
commit | a91d381f6b4a8c0afe432125fddea65699b3581b (patch) | |
tree | b823a73c03f8759f991f548831d83acd38ea41c3 | |
parent | 0f10d50fe23c08f5133db0ad7269e7995ad9b172 (diff) |
simplify some code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46774 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | Sema/SemaDecl.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp index f00ed7f51e..226d33773f 100644 --- a/Sema/SemaDecl.cpp +++ b/Sema/SemaDecl.cpp @@ -1463,14 +1463,11 @@ void Sema::ActOnFields(Scope* S, if (Record) Record->defineBody(&RecFields[0], RecFields.size()); else { - ObjCIvarDecl **ClsFields = - reinterpret_cast<ObjCIvarDecl**>(&RecFields[0]); - if (isa<ObjCInterfaceDecl>(static_cast<Decl*>(RecDecl))) - cast<ObjCInterfaceDecl>(static_cast<Decl*>(RecDecl))-> - addInstanceVariablesToClass(ClsFields, RecFields.size(), RBrac); - else if (isa<ObjCImplementationDecl>(static_cast<Decl*>(RecDecl))) { - ObjCImplementationDecl* IMPDecl = - cast<ObjCImplementationDecl>(static_cast<Decl*>(RecDecl)); + ObjCIvarDecl **ClsFields = reinterpret_cast<ObjCIvarDecl**>(&RecFields[0]); + if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(EnclosingDecl)) + ID->addInstanceVariablesToClass(ClsFields, RecFields.size(), RBrac); + else if (ObjCImplementationDecl *IMPDecl = + dyn_cast<ObjCImplementationDecl>(EnclosingDecl)) { assert(IMPDecl && "ActOnFields - missing ObjCImplementationDecl"); IMPDecl->ObjCAddInstanceVariablesToClassImpl(ClsFields, RecFields.size()); CheckImplementationIvars(IMPDecl, ClsFields, RecFields.size(), RBrac); |