MCPcopy Create free account
hub / github.com/chipsalliance/Surelog / CompileModule

Class CompileModule

include/Surelog/DesignCompile/CompileModule.h:66–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

64};
65
66class CompileModule final {
67 public:
68 CompileModule(CompileDesign* compiler, ModuleDefinition* mdl, Design* design,
69 SymbolTable* symbols, ErrorContainer* errors,
70 ValuedComponentI* instance = nullptr)
71 : m_compileDesign(compiler),
72 m_module(mdl),
73 m_design(design),
74 m_symbols(symbols),
75 m_errors(errors),
76 m_instance(instance) {
77 m_helper.seterrorReporting(errors, symbols);
78 }
79 CompileModule(const CompileModule&) = delete;
80
81 bool compile();
82
83 private:
84 enum CollectType { FUNCTION, DEFINITION, GENERATE_REGIONS, OTHER };
85 bool collectModuleObjects_(CollectType collectType);
86 bool checkModule_();
87 bool collectInterfaceObjects_(CollectType collectType);
88 bool checkInterface_();
89 bool collectUdpObjects_();
90 void compileClockingBlock_(const FileContent* fC, NodeId id);
91
92 CompileDesign* const m_compileDesign;
93 ModuleDefinition* const m_module;
94 Design* const m_design;
95 SymbolTable* const m_symbols;
96 ErrorContainer* const m_errors;
97 CompileHelper m_helper;
98 ValuedComponentI* const m_instance;
99 uint32_t m_nbPorts = 0;
100 bool m_hasNonNullPort = false;
101 UHDM::VectorOfattribute* m_attributes = nullptr;
102};
103
104} // namespace SURELOG
105

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected