@@ -33,10 +33,11 @@ verilog_typecheckt::get_parameter_declarators(
3333 std::vector<verilog_parameter_declt::declaratort> declarators;
3434
3535 // We do the parameter ports first.
36- const auto ¶meter_port_list = module_source.parameter_port_list ();
36+ const auto ¶meter_port_decls = module_source.parameter_port_decls ();
3737
38- for (auto &decl : parameter_port_list)
39- declarators.push_back (decl);
38+ for (auto &declaration : parameter_port_decls)
39+ for (auto &declarator : declaration.declarators ())
40+ declarators.push_back (declarator);
4041
4142 // We do the module item ports second.
4243 const auto &module_items = module_source.module_items ();
@@ -155,18 +156,20 @@ void verilog_typecheckt::set_parameter_values(
155156{
156157 auto p_it=parameter_values.begin ();
157158
158- auto ¶meter_port_list = module_source.parameter_port_list ();
159+ auto ¶meter_port_decls = module_source.parameter_port_decls ();
159160
160- for (auto &declarator : parameter_port_list)
161- {
162- DATA_INVARIANT (p_it != parameter_values.end (), " have enough parameter values" );
161+ for (auto &declaration : parameter_port_decls)
162+ for (auto &declarator : declaration.declarators ())
163+ {
164+ DATA_INVARIANT (
165+ p_it != parameter_values.end (), " have enough parameter values" );
163166
164- // only overwrite when actually assigned
165- if (p_it->is_not_nil ())
166- declarator.value () = *p_it;
167+ // only overwrite when actually assigned
168+ if (p_it->is_not_nil ())
169+ declarator.value () = *p_it;
167170
168- p_it++;
169- }
171+ p_it++;
172+ }
170173
171174 auto &module_items = module_source.module_items ();
172175
0 commit comments