Revert "[lldb][NFC] Refactor Fix-It filter for warnings"
authorDavide Italiano <ditaliano@apple.com>
Mon, 30 Mar 2020 21:04:14 +0000 (14:04 -0700)
committerDavide Italiano <ditaliano@apple.com>
Mon, 30 Mar 2020 21:12:11 +0000 (14:12 -0700)
This reverts commit 11a5caee2aeae2546213366e7fc54095bb8163b9 as
it broke the bots.

lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp

index b3880ce..e5de4b4 100644 (file)
@@ -214,12 +214,16 @@ public:
       auto new_diagnostic = std::make_unique<ClangDiagnostic>(
           stripped_output, severity, Info.getID());
 
+      // Don't store away warning fixits, since the compiler doesn't have
+      // enough context in an expression for the warning to be useful.
       // FIXME: Should we try to filter out FixIts that apply to our generated
       // code, and not the user's expression?
-      for (const clang::FixItHint &fixit : Info.getFixItHints()) {
-        if (fixit.isNull())
-          continue;
-        new_diagnostic->AddFixitHint(fixit);
+      if (severity == eDiagnosticSeverityError) {
+        for (const clang::FixItHint &fixit : Info.getFixItHints()) {
+          if (fixit.isNull())
+            continue;
+          new_diagnostic->AddFixitHint(fixit);
+        }
       }
 
       m_manager->AddDiagnostic(std::move(new_diagnostic));
@@ -1123,10 +1127,6 @@ bool ClangExpressionParser::RewriteExpression(
       continue;
     if (!diagnostic->HasFixIts())
       continue;
-    // Don't apply warning Fix-Its, since the compiler doesn't have enough
-    // context in an expression for the warning to be useful.
-    if (diagnostic->GetSeverity() != eDiagnosticSeverityError)
-      continue;
     for (const FixItHint &fixit : diagnostic->FixIts())
       ApplyFixIt(fixit, commit);
   }