]> granicus.if.org Git - clang/commitdiff
Untangle getUnderlyingDeclImpl, no functionality change.
authorBenjamin Kramer <benny.kra@googlemail.com>
Thu, 8 Mar 2012 21:00:45 +0000 (21:00 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Thu, 8 Mar 2012 21:00:45 +0000 (21:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152339 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/Decl.cpp

index f2ac5c14a15759a5ddb0f79defab07be0852587b..2f42607eab6cb30f36aeaca6f8d11cec257aa822 100644 (file)
@@ -985,15 +985,13 @@ bool NamedDecl::hasLinkage() const {
 
 NamedDecl *NamedDecl::getUnderlyingDeclImpl() {
   NamedDecl *ND = this;
-  while (true) {
-    if (UsingShadowDecl *UD = dyn_cast<UsingShadowDecl>(ND))
-      ND = UD->getTargetDecl();
-    else if (ObjCCompatibleAliasDecl *AD
-              = dyn_cast<ObjCCompatibleAliasDecl>(ND))
-      return AD->getClassInterface();
-    else
-      return ND;
-  }
+  while (UsingShadowDecl *UD = dyn_cast<UsingShadowDecl>(ND))
+    ND = UD->getTargetDecl();
+
+  if (ObjCCompatibleAliasDecl *AD = dyn_cast<ObjCCompatibleAliasDecl>(ND))
+    return AD->getClassInterface();
+
+  return ND;
 }
 
 bool NamedDecl::isCXXInstanceMember() const {