This is an archive of the discontinued LLVM Phabricator instance.

[analyzer] [NFC] Split up RetainSummaryManager from RetainCountChecker
ClosedPublic

Authored by george.karpenkov on Aug 17 2018, 5:54 PM.

Details

Summary

ARCMigrator is using code from RetainCountChecker, which is a layering violation (and it also does it badly, by using a different header, and then relying on implementation being present in a header file).

This change splits up RetainSummaryManager into a separate library in lib/Analysis, which can be used independently of a checker.

Diff Detail

Repository
rC Clang

Event Timeline

george.karpenkov edited the summary of this revision. (Show Details)
george.karpenkov retitled this revision from [analyzer] [NFC] More sane architecture for code reuse from the RetainCountChecker to [analyzer] [NFC] Split up RetainSummaryManager from RetainCountChecker.Aug 17 2018, 6:37 PM
NoQ accepted this revision.Aug 17 2018, 6:40 PM
NoQ added inline comments.
clang/include/clang/Analysis/RetainSummaryManager.h
16–17 ↗(On Diff #161363)

The tradition here seems to be to only place _ where there should be /, i.e. LLVM_CLANG_LIB_ANALYSIS_RETAINSUMMARYMANAGER.

clang/lib/ARCMigrate/CMakeLists.txt
37 ↗(On Diff #161363)

Yay.

This revision is now accepted and ready to land.Aug 17 2018, 6:40 PM
george.karpenkov marked an inline comment as done.
This revision was automatically updated to reflect the committed changes.
lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountSummaries.h