[analyzer][NFC] Refactoring BugReporter.cpp P1.: Store interesting…

Authored by Szelethus on Aug 13 2019, 6:09 AM.


[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

Event Timeline

lisa6jones6 raised a concern with this commit.Aug 13 2019, 6:48 AM
lisa6jones6 added a subscriber: lisa6jones6.
This comment was removed by asl.
This commit now has outstanding concerns.Aug 13 2019, 6:48 AM
asl removed a subscriber: lisa6jones6.
This commit no longer requires audit.Aug 13 2019, 2:15 PM
asl added a subscriber: asl.Aug 13 2019, 2:15 PM