| souffle
    2.0.2-371-g6315b36
    | 
 
 
 
Go to the documentation of this file.
   43 class TranslationUnit {
 
   45     TranslationUnit(Own<Program> prog, SymbolTable sym, ErrorReport& 
e, DebugReport& 
d)
 
   47         assert(
program != 
nullptr && 
"program is a null-pointer");
 
   53     template <
class Analysis>
 
   56         std::string name = Analysis::name;
 
   60             auto analysis = mk<Analysis>(Analysis::name);
 
   64                 std::stringstream ramAnalysisStr;
 
   65                 ramAnalysisStr << *analysis;
 
   66                 if (!ramAnalysisStr.str().empty()) {
 
   68                             analysis->getName(), 
"RAM Analysis " + analysis->getName(), ramAnalysisStr.str());
 
   74                 analyses[name] = std::move(analysis);
 
   77         return dynamic_cast<Analysis*
>(
analyses[name].get());
 
   82         std::set<const analysis::Analysis*> result;
 
   84             result.insert(a.second.get());
 
  116     mutable std::map<std::string, Own<analysis::Analysis>> 
analyses;
 
  
ErrorReport & errorReport
RAM program relation declaration and functions.
Analysis * getAnalysis() const
Get an analysis.
std::set< const analysis::Analysis * > getAliveAnalyses() const
Get all alive analyses.
l j a showGridBackground &&c b raw series this eventEmitter e
TranslationUnit(Own< Program > prog, SymbolTable sym, ErrorReport &e, DebugReport &d)
void addSection(DebugReportSection section)
souffle::SymbolTable & getSymbolTable()
Obtain symbol table
Program & getProgram() const
Get the RAM Program of the translation unit
souffle::SymbolTable symbolTable
Class representing a HTML report, consisting of a list of sections.
void invalidateAnalyses()
Invalidate all alive analyses of the translation unit.
DebugReport & debugReport
std::map< std::string, Own< analysis::Analysis > > analyses
virtual ~TranslationUnit()=default
static MainConfig & config()
ErrorReport & getErrorReport()
Obtain error report.
DebugReport & getDebugReport()
Obtain debug report.