]> granicus.if.org Git - clang/commitdiff
reduce nesting.
authorChris Lattner <sabre@nondot.org>
Tue, 31 Mar 2009 08:18:48 +0000 (08:18 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 31 Mar 2009 08:18:48 +0000 (08:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68091 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaExpr.cpp

index ca5feb7be006ae9e9f3d25e7117b020bc979dc3f..7a25404faa4be68834f1f128ee05e6157096be68 100644 (file)
@@ -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<VarDecl>(MemberDecl))
+    }
+    
+    if (VarDecl *Var = dyn_cast<VarDecl>(MemberDecl))
       return Owned(new (Context) MemberExpr(BaseExpr, OpKind == tok::arrow,
-                                  Var, MemberLoc,
-                                  Var->getType().getNonReferenceType()));
-    else if (FunctionDecl *MemberFn = dyn_cast<FunctionDecl>(MemberDecl))
+                                            Var, MemberLoc,
+                                         Var->getType().getNonReferenceType()));
+    if (FunctionDecl *MemberFn = dyn_cast<FunctionDecl>(MemberDecl))
       return Owned(new (Context) MemberExpr(BaseExpr, OpKind == tok::arrow,
-                                  MemberFn, MemberLoc, MemberFn->getType()));
-    else if (OverloadedFunctionDecl *Ovl
-             = dyn_cast<OverloadedFunctionDecl>(MemberDecl))
+                                            MemberFn, MemberLoc,
+                                            MemberFn->getType()));
+    if (OverloadedFunctionDecl *Ovl
+          = dyn_cast<OverloadedFunctionDecl>(MemberDecl))
       return Owned(new (Context) MemberExpr(BaseExpr, OpKind == tok::arrow, Ovl,
-                                  MemberLoc, Context.OverloadTy));
-    else if (EnumConstantDecl *Enum = dyn_cast<EnumConstantDecl>(MemberDecl))
+                                            MemberLoc, Context.OverloadTy));
+    if (EnumConstantDecl *Enum = dyn_cast<EnumConstantDecl>(MemberDecl))
       return Owned(new (Context) MemberExpr(BaseExpr, OpKind == tok::arrow,
                                             Enum, MemberLoc, Enum->getType()));
-    else if (isa<TypeDecl>(MemberDecl))
+    if (isa<TypeDecl>(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<ObjCCategoryImplDecl>(ImplDecl))
             ClassOfMethodDecl = CatImplClass->getClassInterface();
         }
+        
         if (IV->getAccessControl() == ObjCIvarDecl::Private) { 
           if (ClassDeclared != IFTy->getDecl() || 
               ClassOfMethodDecl != ClassDeclared)