[clang] b7e5cb1 - [clang][NFC] Refactor emitSnippet()

Timm Bäder via cfe-commits cfe-commits at lists.llvm.org
Wed May 31 00:21:48 PDT 2023


Author: Timm Bäder
Date: 2023-05-31T09:21:23+02:00
New Revision: b7e5cb1f9a3a5226f22bb81c865214be81dce940

URL: https://github.com/llvm/llvm-project/commit/b7e5cb1f9a3a5226f22bb81c865214be81dce940
DIFF: https://github.com/llvm/llvm-project/commit/b7e5cb1f9a3a5226f22bb81c865214be81dce940.diff

LOG: [clang][NFC] Refactor emitSnippet()

Rename parameters and local variables and reorder things a bit to be
closer to their first point of use.

Differential Revision: https://reviews.llvm.org/D150840

Added: 
    

Modified: 
    clang/lib/Frontend/TextDiagnostic.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Frontend/TextDiagnostic.cpp b/clang/lib/Frontend/TextDiagnostic.cpp
index baf9b017fc83..51b901180ee5 100644
--- a/clang/lib/Frontend/TextDiagnostic.cpp
+++ b/clang/lib/Frontend/TextDiagnostic.cpp
@@ -1298,16 +1298,12 @@ void TextDiagnostic::emitSnippetAndCaret(
   emitParseableFixits(Hints, SM);
 }
 
-void TextDiagnostic::emitSnippet(StringRef line, unsigned MaxLineNoDisplayWidth,
+void TextDiagnostic::emitSnippet(StringRef SourceLine,
+                                 unsigned MaxLineNoDisplayWidth,
                                  unsigned LineNo) {
-  if (line.empty())
+  if (SourceLine.empty())
     return;
 
-  size_t i = 0;
-
-  std::string to_print;
-  bool print_reversed = false;
-
   // Emit line number.
   if (MaxLineNoDisplayWidth > 0) {
     unsigned LineNoDisplayWidth = getNumDisplayWidth(LineNo);
@@ -1318,28 +1314,30 @@ void TextDiagnostic::emitSnippet(StringRef line, unsigned MaxLineNoDisplayWidth,
     OS << " | ";
   }
 
-  while (i<line.size()) {
-    std::pair<SmallString<16>,bool> res
-        = printableTextForNextCharacter(line, &i, DiagOpts->TabStop);
-    bool was_printable = res.second;
+  bool PrintReversed = false;
+  std::string ToPrint;
+  size_t I = 0;
+  while (I < SourceLine.size()) {
+    auto [Str, WasPrintable] =
+        printableTextForNextCharacter(SourceLine, &I, DiagOpts->TabStop);
 
-    if (DiagOpts->ShowColors && was_printable == print_reversed) {
-      if (print_reversed)
+    if (DiagOpts->ShowColors && WasPrintable == PrintReversed) {
+      if (PrintReversed)
         OS.reverseColor();
-      OS << to_print;
-      to_print.clear();
+      OS << ToPrint;
+      ToPrint.clear();
       if (DiagOpts->ShowColors)
         OS.resetColor();
     }
 
-    print_reversed = !was_printable;
-    to_print += res.first.str();
+    PrintReversed = !WasPrintable;
+    ToPrint += Str;
   }
 
-  if (print_reversed && DiagOpts->ShowColors)
+  if (PrintReversed && DiagOpts->ShowColors)
     OS.reverseColor();
-  OS << to_print;
-  if (print_reversed && DiagOpts->ShowColors)
+  OS << ToPrint;
+  if (PrintReversed && DiagOpts->ShowColors)
     OS.resetColor();
 
   OS << '\n';


        


More information about the cfe-commits mailing list