From: Chris Lattner Date: Tue, 31 Mar 2009 08:18:48 +0000 (+0000) Subject: reduce nesting. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a3d2524e701b40b2c0cb3688017f153fd1d36bfe;p=clang reduce nesting. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68091 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index ca5feb7be0..7a25404faa 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -1783,16 +1783,16 @@ Sema::ActOnMemberReferenceExpr(Scope *S, ExprArg Base, SourceLocation OpLoc, = LookupQualifiedName(RDecl, DeclarationName(&Member), LookupMemberName, false); - NamedDecl *MemberDecl = 0; if (!Result) return ExprError(Diag(MemberLoc, diag::err_typecheck_no_member) << &Member << BaseExpr->getSourceRange()); - else if (Result.isAmbiguous()) { + if (Result.isAmbiguous()) { DiagnoseAmbiguousLookup(Result, DeclarationName(&Member), MemberLoc, BaseExpr->getSourceRange()); return ExprError(); - } else - MemberDecl = Result; + } + + NamedDecl *MemberDecl = Result; // If the decl being referenced had an error, return an error for this // sub-expr without emitting another error, in order to avoid cascading @@ -1826,21 +1826,24 @@ Sema::ActOnMemberReferenceExpr(Scope *S, ExprArg Base, SourceLocation OpLoc, return Owned(new (Context) MemberExpr(BaseExpr, OpKind == tok::arrow, FD, MemberLoc, MemberType)); - } else if (VarDecl *Var = dyn_cast(MemberDecl)) + } + + if (VarDecl *Var = dyn_cast(MemberDecl)) return Owned(new (Context) MemberExpr(BaseExpr, OpKind == tok::arrow, - Var, MemberLoc, - Var->getType().getNonReferenceType())); - else if (FunctionDecl *MemberFn = dyn_cast(MemberDecl)) + Var, MemberLoc, + Var->getType().getNonReferenceType())); + if (FunctionDecl *MemberFn = dyn_cast(MemberDecl)) return Owned(new (Context) MemberExpr(BaseExpr, OpKind == tok::arrow, - MemberFn, MemberLoc, MemberFn->getType())); - else if (OverloadedFunctionDecl *Ovl - = dyn_cast(MemberDecl)) + MemberFn, MemberLoc, + MemberFn->getType())); + if (OverloadedFunctionDecl *Ovl + = dyn_cast(MemberDecl)) return Owned(new (Context) MemberExpr(BaseExpr, OpKind == tok::arrow, Ovl, - MemberLoc, Context.OverloadTy)); - else if (EnumConstantDecl *Enum = dyn_cast(MemberDecl)) + MemberLoc, Context.OverloadTy)); + if (EnumConstantDecl *Enum = dyn_cast(MemberDecl)) return Owned(new (Context) MemberExpr(BaseExpr, OpKind == tok::arrow, Enum, MemberLoc, Enum->getType())); - else if (isa(MemberDecl)) + if (isa(MemberDecl)) return ExprError(Diag(MemberLoc,diag::err_typecheck_member_reference_type) << DeclarationName(&Member) << int(OpKind == tok::arrow)); @@ -1887,6 +1890,7 @@ Sema::ActOnMemberReferenceExpr(Scope *S, ExprArg Base, SourceLocation OpLoc, dyn_cast(ImplDecl)) ClassOfMethodDecl = CatImplClass->getClassInterface(); } + if (IV->getAccessControl() == ObjCIvarDecl::Private) { if (ClassDeclared != IFTy->getDecl() || ClassOfMethodDecl != ClassDeclared)