aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt/grt-disp_tree.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/grt/grt-disp_tree.adb')
-rw-r--r--src/grt/grt-disp_tree.adb38
1 files changed, 21 insertions, 17 deletions
diff --git a/src/grt/grt-disp_tree.adb b/src/grt/grt-disp_tree.adb
index 7d5811960..4afb64191 100644
--- a/src/grt/grt-disp_tree.adb
+++ b/src/grt/grt-disp_tree.adb
@@ -112,13 +112,15 @@ package body Grt.Disp_Tree is
end;
when Ghdl_Rtik_For_Generate =>
declare
- Blk : constant Ghdl_Rtin_Block_Acc :=
- To_Ghdl_Rtin_Block_Acc (Rti);
- Iter : Ghdl_Rtin_Object_Acc;
+ Gen : constant Ghdl_Rtin_Generate_Acc :=
+ To_Ghdl_Rtin_Generate_Acc (Rti);
+ Bod : constant Ghdl_Rtin_Block_Acc :=
+ To_Ghdl_Rtin_Block_Acc (Gen.Child);
+ Iter : constant Ghdl_Rtin_Object_Acc :=
+ To_Ghdl_Rtin_Object_Acc (Bod.Children (0));
Addr : Address;
begin
- Disp_Name (Blk.Name);
- Iter := To_Ghdl_Rtin_Object_Acc (Blk.Children (0));
+ Disp_Name (Gen.Name);
Addr := Loc_To_Addr (Iter.Common.Depth, Iter.Loc, Ctxt);
Put ('(');
Disp_Value (stdout, Iter.Obj_Type, Ctxt, Addr, False);
@@ -251,24 +253,25 @@ package body Grt.Disp_Tree is
end;
when Ghdl_Rtik_For_Generate =>
declare
- Nblk : constant Ghdl_Rtin_Block_Acc :=
- To_Ghdl_Rtin_Block_Acc (Child);
+ Gen : constant Ghdl_Rtin_Generate_Acc :=
+ To_Ghdl_Rtin_Generate_Acc (Child);
Nctxt : Rti_Context;
Length : Ghdl_Index_Type;
Old_Child2 : Ghdl_Rti_Access;
begin
- Nctxt := (Base => To_Addr_Acc (Ctxt.Base + Nblk.Loc).all,
- Block => Child);
- Length := Get_For_Generate_Length (Nblk, Ctxt);
+ Nctxt := (Base => To_Addr_Acc (Ctxt.Base + Gen.Loc).all,
+ Block => Gen.Child);
+ Length := Get_For_Generate_Length (Gen, Ctxt);
Disp_Header (Nctxt, Length > 1);
Old_Child2 := Child2;
if Length > 1 then
Child2 := Child;
end if;
for I in 1 .. Length loop
- Disp_Sub_Block (Nblk, Nctxt);
+ Disp_Sub_Block
+ (To_Ghdl_Rtin_Block_Acc (Gen.Child), Nctxt);
if I /= Length then
- Nctxt.Base := Nctxt.Base + Nblk.Size;
+ Nctxt.Base := Nctxt.Base + Gen.Size;
if I = Length - 1 then
Child2 := Old_Child2;
end if;
@@ -279,15 +282,16 @@ package body Grt.Disp_Tree is
end;
when Ghdl_Rtik_If_Generate =>
declare
- Nblk : constant Ghdl_Rtin_Block_Acc :=
- To_Ghdl_Rtin_Block_Acc (Child);
+ Gen : constant Ghdl_Rtin_Generate_Acc :=
+ To_Ghdl_Rtin_Generate_Acc (Child);
Nctxt : Rti_Context;
begin
- Nctxt := (Base => To_Addr_Acc (Ctxt.Base + Nblk.Loc).all,
- Block => Child);
+ Nctxt := (Base => To_Addr_Acc (Ctxt.Base + Gen.Loc).all,
+ Block => Gen.Child);
Disp_Header (Nctxt);
if Nctxt.Base /= Null_Address then
- Disp_Sub_Block (Nblk, Nctxt);
+ Disp_Sub_Block
+ (To_Ghdl_Rtin_Block_Acc (Gen.Child), Nctxt);
end if;
end;
when Ghdl_Rtik_Instance =>