Skip to content

Commit 275b889

Browse files
committed
Verilog: use verilog_module_sourcet to discover instantiated modules
This strengthens the typing in the code that does the iterating.
1 parent 5aa449b commit 275b889

File tree

3 files changed

+13
-17
lines changed

3 files changed

+13
-17
lines changed

src/verilog/verilog_language.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ void verilog_languaget::dependencies(
137137

138138
const verilog_modulet &module=(it->second)->verilog_module;
139139

140-
for(auto &identifier : module.submodules())
140+
for(auto &identifier : submodules(module.to_irep()))
141141
module_set.insert(id2string(identifier));
142142
}
143143
}

src/verilog/verilog_module.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void verilog_modulet::show(std::ostream &out) const
5353

5454
/*******************************************************************\
5555
56-
Function: verilog_modulet::submodules_rec
56+
Function: submodules_rec
5757
5858
Inputs:
5959
@@ -63,8 +63,8 @@ Function: verilog_modulet::submodules_rec
6363
6464
\*******************************************************************/
6565

66-
void verilog_modulet::submodules_rec(
67-
const exprt &module_item,
66+
void submodules_rec(
67+
const verilog_module_itemt &module_item,
6868
std::vector<irep_idt> &dest)
6969
{
7070
if(module_item.id() == ID_inst)
@@ -92,7 +92,7 @@ void verilog_modulet::submodules_rec(
9292

9393
/*******************************************************************\
9494
95-
Function: verilog_modulet::submodules
95+
Function: submodules
9696
9797
Inputs:
9898
@@ -102,12 +102,12 @@ Function: verilog_modulet::submodules
102102
103103
\*******************************************************************/
104104

105-
std::vector<irep_idt> verilog_modulet::submodules() const
105+
std::vector<irep_idt> submodules(const verilog_module_sourcet &module)
106106
{
107107
std::vector<irep_idt> result;
108108

109-
for(auto &item : module_items.get_sub())
110-
submodules_rec(static_cast<const exprt &>(item), result);
109+
for(auto &item : module.module_items())
110+
submodules_rec(item, result);
111111

112112
return result;
113113
}

src/verilog/verilog_module.h

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,12 @@ struct verilog_modulet
3737
m.module_items.swap(module_items);
3838
m.location.swap(location);
3939
}
40-
41-
void show(std::ostream &out) const;
42-
43-
// The identifiers of the submodules
44-
// (not: the identifiers of the instances)
45-
std::vector<irep_idt> submodules() const;
4640

47-
private:
48-
static void
49-
submodules_rec(const exprt &module_item, std::vector<irep_idt> &dest);
41+
void show(std::ostream &out) const;
5042
};
5143

44+
// The identifiers of the submodules
45+
// (not: the identifiers of the instances)
46+
std::vector<irep_idt> submodules(const verilog_module_sourcet &);
47+
5248
#endif

0 commit comments

Comments
 (0)