[analyzer][NFC] Refactoring BugReporter.cpp P1.: Store interesting symbols/regions...
authorKristof Umann <dkszelethus@gmail.com>
Tue, 13 Aug 2019 13:09:48 +0000 (13:09 +0000)
committerKristof Umann <dkszelethus@gmail.com>
Tue, 13 Aug 2019 13:09:48 +0000 (13:09 +0000)
commitb9bd6ebe1dca7978b86f27c583e5b471b447108b
tree92dae7fe805f1841680a6948bb818da1e1d18947
parent7f7b2966f7be82a33543808ae33269199798429b
[analyzer][NFC] Refactoring BugReporter.cpp P1.: Store interesting symbols/regions in a simple set

The goal of this refactoring effort was to better understand how interestingness
was propagated in BugReporter.cpp, which eventually turned out to be a dead end,
but with such a twist, I wouldn't even want to spoil it ahead of time. However,
I did get to learn a lot about how things are working in there.

In these series of patches, as well as cleaning up the code big time, I invite
you to study how BugReporter.cpp operates, and discuss how we could design this
file to reduce the horrible mess that it is.

This patch reverts a great part of rC162028, which holds the title "Allow
multiple PathDiagnosticConsumers to be used with a BugReporter at the same
time.". This, however doesn't imply that there's any need for multiple "layers"
or stacks of interesting symbols and regions, quite the contrary, I would argue
that we would like to generate the same amount of information for all output
types, and only process them differently.

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

llvm-svn: 368689
clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
clang/lib/StaticAnalyzer/Core/BugReporter.cpp