vhdlpp: Elaborate types for signals & variables.
This commit is contained in:
parent
414f240694
commit
42ead3a482
|
|
@ -45,19 +45,19 @@ int Architecture::elaborate(Entity*entity)
|
|||
// Elaborate initializer expressions for signals & variables
|
||||
for (map<perm_string,Signal*>::iterator cur = old_signals_.begin()
|
||||
; cur != old_signals_.end() ; ++cur) {
|
||||
cur->second->elaborate_init_expr(entity, this);
|
||||
cur->second->elaborate(entity, this);
|
||||
}
|
||||
for (map<perm_string,Signal*>::iterator cur = new_signals_.begin()
|
||||
; cur != new_signals_.end() ; ++cur) {
|
||||
cur->second->elaborate_init_expr(entity, this);
|
||||
cur->second->elaborate(entity, this);
|
||||
}
|
||||
for (map<perm_string,Variable*>::iterator cur = old_variables_.begin()
|
||||
; cur != old_variables_.end() ; ++cur) {
|
||||
cur->second->elaborate_init_expr(entity, this);
|
||||
cur->second->elaborate(entity, this);
|
||||
}
|
||||
for (map<perm_string,Variable*>::iterator cur = new_variables_.begin()
|
||||
; cur != new_variables_.end() ; ++cur) {
|
||||
cur->second->elaborate_init_expr(entity, this);
|
||||
cur->second->elaborate(entity, this);
|
||||
}
|
||||
|
||||
// Elaborate subprograms
|
||||
|
|
|
|||
|
|
@ -35,11 +35,12 @@ SigVarBase::~SigVarBase()
|
|||
{
|
||||
}
|
||||
|
||||
void SigVarBase::elaborate_init_expr(Entity*ent, ScopeBase*scope)
|
||||
void SigVarBase::elaborate(Entity*ent, ScopeBase*scope)
|
||||
{
|
||||
if(init_expr_) {
|
||||
if(init_expr_)
|
||||
init_expr_->elaborate_expr(ent, scope, peek_type());
|
||||
}
|
||||
|
||||
type_->elaborate(ent, scope);
|
||||
}
|
||||
|
||||
void SigVarBase::type_elaborate_(VType::decl_t&decl)
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@ class SigVarBase : public LineInfo {
|
|||
|
||||
void dump(ostream&out, int indent = 0) const;
|
||||
|
||||
// Elaborates initializer expressions if needed.
|
||||
void elaborate_init_expr(Entity*ent, ScopeBase*scope);
|
||||
// Elaborates type & initializer expressions.
|
||||
void elaborate(Entity*ent, ScopeBase*scope);
|
||||
|
||||
perm_string peek_name() const { return name_; }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue