Elaborate expressions for entity generics.
This commit is contained in:
parent
15da45f7cb
commit
5724f71339
|
|
@ -123,6 +123,7 @@ class Entity : public ComponentBase {
|
||||||
|
|
||||||
map<perm_string,VType::decl_t> declarations_;
|
map<perm_string,VType::decl_t> declarations_;
|
||||||
|
|
||||||
|
int elaborate_generic_exprs_(void);
|
||||||
int elaborate_ports_(void);
|
int elaborate_ports_(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,7 @@ int Entity::elaborate()
|
||||||
<< ", choosing architecture " << bind_arch_->get_name()
|
<< ", choosing architecture " << bind_arch_->get_name()
|
||||||
<< "." << endl;
|
<< "." << endl;
|
||||||
|
|
||||||
|
errors += elaborate_generic_exprs_();
|
||||||
errors += elaborate_ports_();
|
errors += elaborate_ports_();
|
||||||
|
|
||||||
errors += bind_arch_->elaborate(this);
|
errors += bind_arch_->elaborate(this);
|
||||||
|
|
@ -84,6 +85,17 @@ int Entity::elaborate()
|
||||||
return errors;
|
return errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Entity::elaborate_generic_exprs_()
|
||||||
|
{
|
||||||
|
int errors = 0;
|
||||||
|
for (vector<InterfacePort*>::const_iterator cur = parms_.begin()
|
||||||
|
; cur != parms_.end() ; ++cur) {
|
||||||
|
InterfacePort*curp = *cur;
|
||||||
|
curp->expr->elaborate_expr(this, 0, curp->type);
|
||||||
|
}
|
||||||
|
return errors;
|
||||||
|
}
|
||||||
|
|
||||||
int Entity::elaborate_ports_(void)
|
int Entity::elaborate_ports_(void)
|
||||||
{
|
{
|
||||||
int errors = 0;
|
int errors = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue