[PATCH] D67024: [analyzer] NFC: Replace intrusive list of bug reports with a vector of pointers.

Dmitri Gribenko via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 2 03:04:29 PDT 2019


gribozavr added inline comments.


================
Comment at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:460
+  using iterator = ReportList::iterator;
+  using const_iterator = ReportList::const_iterator;
+
----------------
gribozavr wrote:
> I don't think we intend users to use `ReportList`, so it would be better to not expose it. Instead:
> 
> ```
> using iterator = SmallVectorImpl<std::unique_ptr<BugReport>>::iterator;
> using const_iterator = SmallVectorImpl<std::unique_ptr<BugReport>>::const_iterator;
> ```
> 
> ... and move it closer to the usage point, right above `begin()` / `end()`. WDYT?
Could even do away with all these typedefs, and four begin/end overloads, and replace everything with:

```
ArrayRef<std::unique_ptr<BugReport>> Reports() const;
```

I believe we don't even need a non-const overload since `unique_ptr` allows mutations regardless.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67024/new/

https://reviews.llvm.org/D67024





More information about the cfe-commits mailing list