|  | #ifndef _UHDM_AST_REPORT_H_ | 
|  | #define _UHDM_AST_REPORT_H_ 1 | 
|  |  | 
|  | #include "kernel/yosys.h" | 
|  | #include <map> | 
|  | #include <string> | 
|  | #include <unordered_map> | 
|  | #undef cover | 
|  | #include <uhdm/uhdm.h> | 
|  |  | 
|  | namespace systemverilog_plugin | 
|  | { | 
|  |  | 
|  | class UhdmAstReport | 
|  | { | 
|  | private: | 
|  | // Maps a filename to the number of objects being handled by the frontend | 
|  | std::unordered_map<std::string, unsigned> handled_count_per_file; | 
|  |  | 
|  | public: | 
|  | // Objects not being handled by the frontend | 
|  | std::set<const UHDM::BaseClass *> unhandled; | 
|  |  | 
|  | // Marks the specified object as being handled by the frontend | 
|  | void mark_handled(const UHDM::BaseClass *object); | 
|  |  | 
|  | // Marks the object referenced by the specified handle as being handled by the frontend | 
|  | void mark_handled(vpiHandle obj_h); | 
|  |  | 
|  | // Write the coverage report to the specified path | 
|  | void write(const std::string &directory); | 
|  | }; | 
|  |  | 
|  | } // namespace systemverilog_plugin | 
|  |  | 
|  | #endif |