[PATCH] D26137: [clang-tidy] Add check name to YAML export

Alexander Kornienko via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 30 08:34:35 PST 2016


alexfh requested changes to this revision.
alexfh added a comment.
This revision now requires changes to proceed.

Looks mostly good. A few more nits.



================
Comment at: include/clang/Tooling/Core/Diagnostic.h:68-71
+  /// A freeform chunk of text to describe the context of the replacements.
+  /// Will be printed, for example, when detecting conflicts during replacement
+  /// deduplication.
+  std::string Context;
----------------
Alpha wrote:
> alexfh wrote:
> > That's too vague. Are you intending to use it only for reporting problems with replacement deduplication? Should it be in this structure at all?
> This was actually left to keep compatibility with `TranslationUnitReplacements` which was used for the export.
> But it seems that even for that structure, there is in all likelihood no reference to any use of the `Context` field, except in test cases and in the Yaml IO mapping, where it is marked as an optional entry.
> Should it be discarded instead (here, and thus also in `TranslationUnitReplacements`)?
Yes, it seems we can just remove the `Context` field.


================
Comment at: include/clang/Tooling/Core/Diagnostic.h:36
+  /// \brief Constructs a diagnostic message with anoffset to the diagnostic
+  /// within the file where the problem occured
+  ///
----------------
nit: Add a trailing period.


================
Comment at: include/clang/Tooling/DiagnosticsYaml.h:35
+    NormalizedDiagnostic(const IO &)
+        : DiagnosticName(""), Message(), Fix(), Notes(), DiagLevel() {}
+
----------------
Initializers for non-trivial members are superfluous. Looks like only `DiagLevel` initializer makes sense, but I'd use an explicit value for it. 


================
Comment at: include/clang/Tooling/DiagnosticsYaml.h:58
+    std::vector<clang::tooling::Replacement> Fixes;
+    for (auto & Replacements : Keys->Fix) {
+       for (auto & Replacement : Replacements.second) {
----------------
clang-format, please


================
Comment at: include/clang/Tooling/DiagnosticsYaml.h:79
+      for (auto &Diagnostic : Doc.Diagnostics) {
+        if (Diagnostic.Fix.size() > 0) {
+          Diagnostics.push_back(Diagnostic);
----------------
Should we copy all diagnostics instead?


================
Comment at: tools/extra/clang-apply-replacements/lib/Tooling/ApplyReplacements.cpp:42
+                                 TUDiagnostics &TUs,
+                                 TUDiagnosticFiles & TURFiles,
                                  clang::DiagnosticsEngine &Diagnostics) {
----------------
clang-format, please


================
Comment at: tools/extra/clang-tidy/ClangTidyDiagnosticConsumer.h:56
   // Note: it is empty in unittest.
   std::string BuildDirectory;
 
----------------
It might make sense to move BuildDirectory to clang::Tooling::Diagnostic as well.


Repository:
  rL LLVM

https://reviews.llvm.org/D26137





More information about the cfe-commits mailing list