23 for (
const auto &Entry : TransformationRegistry::entries())
24 if (Entry.getName() == Name)
29std::unique_ptr<Transformation>
33 for (
const auto &Entry : TransformationRegistry::entries())
34 if (Entry.getName() == Name)
35 return Entry.instantiate(Suite, Edits,
Report);
36 assert(
false &&
"Unknown Transformation name");
41 OS <<
"OVERVIEW: Available SSAF source transformations:\n\n";
42 for (
const auto &Entry : TransformationRegistry::entries())
43 OS <<
" " << Entry.getName() <<
" - " << Entry.getDesc() <<
"\n";
Bundles the EntityIdTable (moved from the LUSummary) and the analysis results produced by one Analysi...
void printAvailableTransformations(llvm::raw_ostream &OS)
Print the list of available Transformations.
llvm::Registry< Transformation, const WPASuite &, SourceEditEmitter &, TransformationReportEmitter & > TransformationRegistry
std::unique_ptr< Transformation > makeTransformation(llvm::StringRef Name, const WPASuite &Suite, SourceEditEmitter &Edits, TransformationReportEmitter &Report)
Try to instantiate a Transformation with a given name.
bool isTransformationRegistered(llvm::StringRef Name)
Check if a Transformation was registered with a given name.
volatile int SSAFSourceTransformationAnchorSource
The JSON file list parser is used to communicate input to InstallAPI.
Diagnostic wrappers for TextAPI types for error reporting.