зеркало из https://github.com/microsoft/clang-1.git
Sema/Obj-C: Simplify -- eliminate dead casts & provable asserts, and narrow type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100197 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
2f59979a7c
Коммит
a19331f156
|
@ -5740,17 +5740,15 @@ Sema::DeclPtrTy Sema::ActOnIvar(Scope *S,
|
|||
Visibility != tok::objc_not_keyword ? TranslateIvarVisibility(Visibility)
|
||||
: ObjCIvarDecl::None;
|
||||
// Must set ivar's DeclContext to its enclosing interface.
|
||||
Decl *EnclosingDecl = IntfDecl.getAs<Decl>();
|
||||
DeclContext *EnclosingContext;
|
||||
ObjCContainerDecl *EnclosingDecl = IntfDecl.getAs<ObjCContainerDecl>();
|
||||
ObjCContainerDecl *EnclosingContext;
|
||||
if (ObjCImplementationDecl *IMPDecl =
|
||||
dyn_cast<ObjCImplementationDecl>(EnclosingDecl)) {
|
||||
// Case of ivar declared in an implementation. Context is that of its class.
|
||||
ObjCInterfaceDecl* IDecl = IMPDecl->getClassInterface();
|
||||
assert(IDecl && "No class- ActOnIvar");
|
||||
EnclosingContext = cast_or_null<DeclContext>(IDecl);
|
||||
EnclosingContext = IMPDecl->getClassInterface();
|
||||
assert(EnclosingContext && "Implementation has no class interface!");
|
||||
} else
|
||||
EnclosingContext = dyn_cast<DeclContext>(EnclosingDecl);
|
||||
assert(EnclosingContext && "null DeclContext for ivar - ActOnIvar");
|
||||
EnclosingContext = EnclosingDecl;
|
||||
|
||||
// Construct the decl.
|
||||
ObjCIvarDecl *NewID = ObjCIvarDecl::Create(Context,
|
||||
|
|
Загрузка…
Ссылка в новой задаче