blob: e2403fc64cfa330e8c9d12fd47815bcd396fcaa4 [file] [log] [blame]
#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