|
clang 23.0.0git
|
Typed intermediate that concrete summary analyses inherit from. More...
#include "clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/SummaryAnalysis.h"
Public Member Functions | |
| AnalysisName | analysisName () const final |
| Used by AnalysisRegistry::Add to derive the registry entry name. | |
| SummaryName | summaryName () const final |
| SummaryName of the EntitySummary type this analysis consumes. | |
| const std::vector< AnalysisName > & | dependencyNames () const final |
| AnalysisNames of all AnalysisResult dependencies. | |
| virtual llvm::Error | initialize () override |
| Called once before the first add() call. Override for initialization. | |
| virtual llvm::Error | add (EntityId Id, const EntitySummaryT &Summary)=0 |
| Called once per matching entity. Implement to accumulate data. | |
| virtual llvm::Error | finalize () override |
| Called after all entities have been processed. | |
| Public Member Functions inherited from clang::ssaf::AnalysisBase | |
| virtual | ~AnalysisBase ()=default |
Protected Member Functions | |
| const ResultT & | result () const & |
| Read-only access to the result being built. | |
| ResultT & | result () & |
| Mutable access to the result being built. | |
| Protected Member Functions inherited from clang::ssaf::SummaryAnalysisBase | |
| SummaryAnalysisBase () | |
| Protected Member Functions inherited from clang::ssaf::AnalysisBase | |
| AnalysisBase (Kind K) | |
Friends | |
| class | AnalysisRegistry |
Typed intermediate that concrete summary analyses inherit from.
Concrete analyses must implement: llvm::Error add(EntityId Id, const EntitySummaryT &Summary) override; and may override initialize() and finalize().
The result being built is accessible via result() const & (read-only) and result() & (mutable) within the analysis implementation.
Definition at line 70 of file SummaryAnalysis.h.
|
pure virtual |
Called once per matching entity. Implement to accumulate data.
|
inlinefinalvirtual |
Used by AnalysisRegistry::Add to derive the registry entry name.
Implements clang::ssaf::AnalysisBase.
Definition at line 85 of file SummaryAnalysis.h.
|
inlinefinalvirtual |
AnalysisNames of all AnalysisResult dependencies.
Implements clang::ssaf::AnalysisBase.
Definition at line 91 of file SummaryAnalysis.h.
References clang::Empty.
|
inlineoverridevirtual |
Called after all entities have been processed.
Override for post-processing.
Reimplemented from clang::ssaf::SummaryAnalysisBase.
Definition at line 104 of file SummaryAnalysis.h.
|
inlineoverridevirtual |
Called once before the first add() call. Override for initialization.
Reimplemented from clang::ssaf::SummaryAnalysisBase.
Definition at line 97 of file SummaryAnalysis.h.
|
inlineprotected |
Mutable access to the result being built.
Definition at line 111 of file SummaryAnalysis.h.
|
inlineprotected |
Read-only access to the result being built.
Definition at line 108 of file SummaryAnalysis.h.
|
inlinefinalvirtual |
SummaryName of the EntitySummary type this analysis consumes.
Used by the driver to route entities from the LUSummary.
Implements clang::ssaf::SummaryAnalysisBase.
Definition at line 87 of file SummaryAnalysis.h.
|
friend |
Definition at line 78 of file SummaryAnalysis.h.
References AnalysisRegistry.
Referenced by AnalysisRegistry.