]> granicus.if.org Git - clang/commitdiff
Added an inserter for ArrayRef<SourceRange>.
authorAlexander Kornienko <alexfh@google.com>
Thu, 6 Mar 2014 13:23:30 +0000 (13:23 +0000)
committerAlexander Kornienko <alexfh@google.com>
Thu, 6 Mar 2014 13:23:30 +0000 (13:23 +0000)
Summary:
Added an inserter for ArrayRef<SourceRange>, as it is already needed in at least
two places (static analyzer and clang-tidy).

Reviewers: jordan_rose

CC: cfe-commits, gribozavr
Differential Revision: http://llvm-reviews.chandlerc.com/D2984

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203117 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/Diagnostic.h
lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp

index 5e3fd015a52762a84f95e1ab4f74efcdc8363881..e2dfd8182c9156088c68d63ea13c61c191c55625 100644 (file)
@@ -1015,7 +1015,8 @@ inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, int I) {
   return DB;
 }
 
-inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,bool I) {
+inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
+                                           bool I) {
   DB.AddTaggedVal(I, DiagnosticsEngine::ak_sint);
   return DB;
 }
@@ -1052,19 +1053,26 @@ operator<<(const DiagnosticBuilder &DB, T *DC) {
                   DiagnosticsEngine::ak_declcontext);
   return DB;
 }
-  
+
 inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
                                            const SourceRange &R) {
   DB.AddSourceRange(CharSourceRange::getTokenRange(R));
   return DB;
 }
 
+inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
+                                           ArrayRef<SourceRange> Ranges) {
+  for (const SourceRange &R: Ranges)
+    DB.AddSourceRange(CharSourceRange::getTokenRange(R));
+  return DB;
+}
+
 inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
                                            const CharSourceRange &R) {
   DB.AddSourceRange(R);
   return DB;
 }
-  
+
 inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
                                            const FixItHint &Hint) {
   if (!Hint.isNull())
@@ -1073,7 +1081,7 @@ inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
 }
 
 inline DiagnosticBuilder DiagnosticsEngine::Report(SourceLocation Loc,
-                                            unsigned DiagID){
+                                                   unsigned DiagID) {
   assert(CurDiagID == ~0U && "Multiple diagnostics in flight at once!");
   CurDiagLoc = Loc;
   CurDiagID = DiagID;
index 119760e74f17c5db34a1cb696799e69ea7558b3d..d8feac31b0ad95da0620d69ec1e11af9c7eebb77 100644 (file)
@@ -103,14 +103,6 @@ public:
     IncludePath = true;
   }
 
-  const DiagnosticBuilder &addRanges(const DiagnosticBuilder &DB,
-                                     ArrayRef<SourceRange> Ranges) {
-    for (ArrayRef<SourceRange>::iterator I = Ranges.begin(), E = Ranges.end();
-         I != E; ++I)
-      DB << *I;
-    return DB;
-  }
-
   void FlushDiagnosticsImpl(std::vector<const PathDiagnostic *> &Diags,
                             FilesMade *filesMade) {
     unsigned WarnID = Diag.getCustomDiagID(DiagnosticsEngine::Warning, "%0");
@@ -120,8 +112,8 @@ public:
          E = Diags.end(); I != E; ++I) {
       const PathDiagnostic *PD = *I;
       SourceLocation WarnLoc = PD->getLocation().asLocation();
-      addRanges(Diag.Report(WarnLoc, WarnID) << PD->getShortDescription(),
-                PD->path.back()->getRanges());
+      Diag.Report(WarnLoc, WarnID) << PD->getShortDescription()
+                                   << PD->path.back()->getRanges();
 
       if (!IncludePath)
         continue;
@@ -131,8 +123,8 @@ public:
                                       PE = FlatPath.end();
            PI != PE; ++PI) {
         SourceLocation NoteLoc = (*PI)->getLocation().asLocation();
-        addRanges(Diag.Report(NoteLoc, NoteID) << (*PI)->getString(),
-                  (*PI)->getRanges());
+        Diag.Report(NoteLoc, NoteID) << (*PI)->getString()
+                                     << (*PI)->getRanges();
       }
     }
   }