aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-02-05 22:40:55 +0000
committerChris Lattner <sabre@nondot.org>2008-02-05 22:40:55 +0000
commita91d381f6b4a8c0afe432125fddea65699b3581b (patch)
treeb823a73c03f8759f991f548831d83acd38ea41c3
parent0f10d50fe23c08f5133db0ad7269e7995ad9b172 (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.cpp13
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);