use early exits to reduce nesting.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61642 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp
index 3c79d64..381c84e 100644
--- a/lib/Parse/Parser.cpp
+++ b/lib/Parse/Parser.cpp
@@ -784,48 +784,49 @@
   // FIXME: check for a template-id token here, and look it up if it
   // names a type.
 
-  if (SS.isNotEmpty()) {
-    // A C++ scope specifier that isn't followed by a typename.
-    // Push the current token back into the token stream (or revert it if it is
-    // cached) and use an annotation scope token for current token.
-    if (PP.isBacktrackEnabled())
-      PP.RevertCachedTokens(1);
-    else
-      PP.EnterToken(Tok);
-    Tok.setKind(tok::annot_cxxscope);
-    Tok.setAnnotationValue(SS.getScopeRep());
-    Tok.setAnnotationRange(SS.getRange());
+  if (SS.isEmpty())
+    return;
+  
+  // A C++ scope specifier that isn't followed by a typename.
+  // Push the current token back into the token stream (or revert it if it is
+  // cached) and use an annotation scope token for current token.
+  if (PP.isBacktrackEnabled())
+    PP.RevertCachedTokens(1);
+  else
+    PP.EnterToken(Tok);
+  Tok.setKind(tok::annot_cxxscope);
+  Tok.setAnnotationValue(SS.getScopeRep());
+  Tok.setAnnotationRange(SS.getRange());
 
-    // In case the tokens were cached, have Preprocessor replace them with the
-    // annotation token.
-    PP.AnnotateCachedTokens(Tok);
-  }
+  // In case the tokens were cached, have Preprocessor replace them with the
+  // annotation token.
+  PP.AnnotateCachedTokens(Tok);
 }
 
 /// TryAnnotateScopeToken - Like TryAnnotateTypeOrScopeToken but only
 /// annotates C++ scope specifiers.
 void Parser::TryAnnotateCXXScopeToken() {
   assert(getLang().CPlusPlus &&
-         "Call sites of this function should be guarded by checking for C++.");
+         "Call sites of this function should be guarded by checking for C++");
 
   if (Tok.is(tok::annot_cxxscope))
     return;
 
   CXXScopeSpec SS;
-  if (MaybeParseCXXScopeSpecifier(SS)) {
+  if (!MaybeParseCXXScopeSpecifier(SS))
+    return;
 
-    // Push the current token back into the token stream (or revert it if it is
-    // cached) and use an annotation scope token for current token.
-    if (PP.isBacktrackEnabled())
-      PP.RevertCachedTokens(1);
-    else
-      PP.EnterToken(Tok);
-    Tok.setKind(tok::annot_cxxscope);
-    Tok.setAnnotationValue(SS.getScopeRep());
-    Tok.setAnnotationRange(SS.getRange());
+  // Push the current token back into the token stream (or revert it if it is
+  // cached) and use an annotation scope token for current token.
+  if (PP.isBacktrackEnabled())
+    PP.RevertCachedTokens(1);
+  else
+    PP.EnterToken(Tok);
+  Tok.setKind(tok::annot_cxxscope);
+  Tok.setAnnotationValue(SS.getScopeRep());
+  Tok.setAnnotationRange(SS.getRange());
 
-    // In case the tokens were cached, have Preprocessor replace them with the
-    // annotation token.
-    PP.AnnotateCachedTokens(Tok);
-  }
+  // In case the tokens were cached, have Preprocessor replace them with the
+  // annotation token.
+  PP.AnnotateCachedTokens(Tok);
 }