Revision 3340aff0
src/backends/VHDL/vhdl_2_mini_vhdl_map.ml | ||
---|---|---|
518 | 518 |
let names = arch.name::(arch.entity::[]) in |
519 | 519 |
let (ref_ent_ctx,ref_ent) = self#filter_entity (ents_pairs, arch.entity) in |
520 | 520 |
let contexts = |
521 |
arch_ctx @ |
|
522 |
ref_ent_ctx @ |
|
523 |
self#declarative_items_uses arch.declarations @ |
|
524 |
self#declarative_items_uses ref_ent.declaration in |
|
521 |
arch_ctx @ (* Architecture context elements *)
|
|
522 |
ref_ent_ctx @ (* Referenced entity context elements *)
|
|
523 |
self#declarative_items_uses arch.declarations @ (* Architecture inner context elements *)
|
|
524 |
self#declarative_items_uses ref_ent.declaration in (* Referenced entity inner context elements *)
|
|
525 | 525 |
let declarations = |
526 |
self#declarative_items_declarations arch.declarations @ |
|
527 |
self#declarative_items_declarations ref_ent.declaration in |
|
526 |
self#declarative_items_declarations arch.declarations @ (* Architecture inner declarations *)
|
|
527 |
self#declarative_items_declarations ref_ent.declaration in (* Referenced entity inner declarations *)
|
|
528 | 528 |
let definitions = |
529 |
self#declarative_items_definitions arch.declarations @ |
|
530 |
self#declarative_items_definitions ref_ent.declaration in |
|
529 |
self#declarative_items_definitions arch.declarations @ (* Architecture inner definitions *)
|
|
530 |
self#declarative_items_definitions ref_ent.declaration in (* Referenced entity inner definitions *)
|
|
531 | 531 |
let body = |
532 |
arch.body @ |
|
533 |
ref_ent.stmts in |
|
534 |
{ names; generics=ref_ent.generics; ports=ref_ent.ports; contexts=contexts; declarations=declarations; definitions=definitions; body=body } |
|
532 |
arch.body @ (* Architecture concurrent statements *) |
|
533 |
ref_ent.stmts in (* Referenced entity concurrent statement *) |
|
534 |
let generics = ref_ent.generics in (* Referenced entity generics *) |
|
535 |
let ports = ref_end.ports in (* Referenced entity ports *) |
|
536 |
{ names; generics=generics; ports=ports; contexts=contexts; declarations=declarations; definitions=definitions; body=body } |
|
535 | 537 |
|
536 | 538 |
method declarative_items_declarations : vhdl_declarative_item_t list -> vhdl_declaration_t list = |
537 | 539 |
fun x -> |
Also available in: Unified diff