aboutsummaryrefslogtreecommitdiffstats
path: root/src/psl
diff options
context:
space:
mode:
Diffstat (limited to 'src/psl')
-rw-r--r--src/psl/psl-dump_tree.adb248
1 files changed, 68 insertions, 180 deletions
diff --git a/src/psl/psl-dump_tree.adb b/src/psl/psl-dump_tree.adb
index db636dbb0..4101b947d 100644
--- a/src/psl/psl-dump_tree.adb
+++ b/src/psl/psl-dump_tree.adb
@@ -102,7 +102,7 @@ package body PSL.Dump_Tree is
procedure Disp_Location (Loc : Location_Type) is
begin
- Put (PSL.Errors.Get_Location_Str (Loc));
+ Put (PSL.Errors.Image (Loc));
end Disp_Location;
-- procedure Disp_String_Id (N : Node) is
@@ -115,8 +115,8 @@ package body PSL.Dump_Tree is
-- Subprograms.
procedure Disp_Tree (N : Node; Indent : Natural; Full : boolean := False) is
+ Chain : Node;
begin
- Disp_Indent (Indent);
Disp_Node_Number (N);
Put (": ");
if N = Null_Node then
@@ -125,7 +125,7 @@ package body PSL.Dump_Tree is
end if;
Put_Line (Nkind'Image (Get_Kind (N)));
Disp_Indent (Indent);
- Put ("loc: ");
+ Put (" loc: ");
Disp_Location (Get_Location (N));
New_Line;
case Get_Kind (N) is
@@ -133,7 +133,6 @@ package body PSL.Dump_Tree is
if not Full then
return;
end if;
- null;
when N_Vmode =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -141,13 +140,14 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Instance", Indent + 1);
- New_Line;
Disp_Tree (Get_Instance (N), Indent + 1, Full);
Disp_Header ("Item_Chain", Indent + 1);
- New_Line;
Disp_Tree (Get_Item_Chain (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Vunit =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -155,13 +155,14 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Instance", Indent + 1);
- New_Line;
Disp_Tree (Get_Instance (N), Indent + 1, Full);
Disp_Header ("Item_Chain", Indent + 1);
- New_Line;
Disp_Tree (Get_Item_Chain (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Vprop =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -169,13 +170,14 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Instance", Indent + 1);
- New_Line;
Disp_Tree (Get_Instance (N), Indent + 1, Full);
Disp_Header ("Item_Chain", Indent + 1);
- New_Line;
Disp_Tree (Get_Item_Chain (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Hdl_Mod_Name =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -183,9 +185,7 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Prefix", Indent + 1);
- New_Line;
Disp_Tree (Get_Prefix (N), Indent + 1, Full);
- null;
when N_Assert_Directive =>
Disp_Header ("Label", Indent + 1);
Disp_Label (N);
@@ -193,16 +193,17 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("String", Indent + 1);
- New_Line;
Disp_Tree (Get_String (N), Indent + 1, Full);
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("NFA", Indent + 1);
Disp_NFA (Get_NFA (N));
New_Line;
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Property_Declaration =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -210,16 +211,16 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Global_Clock", Indent + 1);
- New_Line;
Disp_Tree (Get_Global_Clock (N), Indent + 1, Full);
Disp_Header ("Parameter_List", Indent + 1);
- New_Line;
Disp_Tree (Get_Parameter_List (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Sequence_Declaration =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -227,13 +228,14 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Parameter_List", Indent + 1);
- New_Line;
Disp_Tree (Get_Parameter_List (N), Indent + 1, Full);
Disp_Header ("Sequence", Indent + 1);
- New_Line;
Disp_Tree (Get_Sequence (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Endpoint_Declaration =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -241,13 +243,14 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Parameter_List", Indent + 1);
- New_Line;
Disp_Tree (Get_Parameter_List (N), Indent + 1, Full);
Disp_Header ("Sequence", Indent + 1);
- New_Line;
Disp_Tree (Get_Sequence (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Const_Parameter =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -255,10 +258,12 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Actual", Indent + 1);
- New_Line;
Disp_Tree (Get_Actual (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Boolean_Parameter =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -266,10 +271,12 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Actual", Indent + 1);
- New_Line;
Disp_Tree (Get_Actual (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Property_Parameter =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -277,10 +284,12 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Actual", Indent + 1);
- New_Line;
Disp_Tree (Get_Actual (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Sequence_Parameter =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -288,247 +297,193 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Actual", Indent + 1);
- New_Line;
Disp_Tree (Get_Actual (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Sequence_Instance =>
if not Full then
return;
end if;
Disp_Header ("Declaration", Indent + 1);
- New_Line;
Disp_Tree (Get_Declaration (N), Indent + 1, False);
Disp_Header ("Association_Chain", Indent + 1);
- New_Line;
Disp_Tree (Get_Association_Chain (N), Indent + 1, Full);
- null;
when N_Endpoint_Instance =>
if not Full then
return;
end if;
Disp_Header ("Declaration", Indent + 1);
- New_Line;
Disp_Tree (Get_Declaration (N), Indent + 1, False);
Disp_Header ("Association_Chain", Indent + 1);
- New_Line;
Disp_Tree (Get_Association_Chain (N), Indent + 1, Full);
- null;
when N_Property_Instance =>
if not Full then
return;
end if;
Disp_Header ("Declaration", Indent + 1);
- New_Line;
Disp_Tree (Get_Declaration (N), Indent + 1, False);
Disp_Header ("Association_Chain", Indent + 1);
- New_Line;
Disp_Tree (Get_Association_Chain (N), Indent + 1, Full);
- null;
when N_Actual =>
if not Full then
return;
end if;
Disp_Header ("Actual", Indent + 1);
- New_Line;
Disp_Tree (Get_Actual (N), Indent + 1, Full);
Disp_Header ("Formal", Indent + 1);
- New_Line;
Disp_Tree (Get_Formal (N), Indent + 1, Full);
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Clock_Event =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Boolean", Indent + 1);
- New_Line;
Disp_Tree (Get_Boolean (N), Indent + 1, Full);
- null;
when N_Always =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
- null;
when N_Never =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
- null;
when N_Eventually =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
- null;
when N_Strong =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
- null;
when N_Imp_Seq =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Sequence", Indent + 1);
- New_Line;
Disp_Tree (Get_Sequence (N), Indent + 1, Full);
- null;
when N_Overlap_Imp_Seq =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Sequence", Indent + 1);
- New_Line;
Disp_Tree (Get_Sequence (N), Indent + 1, Full);
- null;
when N_Log_Imp_Prop =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
- null;
when N_Next =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Strong_Flag", Indent + 1);
Disp_Boolean (Get_Strong_Flag (N));
New_Line;
Disp_Header ("Number", Indent + 1);
- New_Line;
Disp_Tree (Get_Number (N), Indent + 1, Full);
- null;
when N_Next_A =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Strong_Flag", Indent + 1);
Disp_Boolean (Get_Strong_Flag (N));
New_Line;
Disp_Header ("Low_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_Low_Bound (N), Indent + 1, Full);
Disp_Header ("High_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_High_Bound (N), Indent + 1, Full);
- null;
when N_Next_E =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Strong_Flag", Indent + 1);
Disp_Boolean (Get_Strong_Flag (N));
New_Line;
Disp_Header ("Low_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_Low_Bound (N), Indent + 1, Full);
Disp_Header ("High_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_High_Bound (N), Indent + 1, Full);
- null;
when N_Next_Event =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Boolean", Indent + 1);
- New_Line;
Disp_Tree (Get_Boolean (N), Indent + 1, Full);
Disp_Header ("Strong_Flag", Indent + 1);
Disp_Boolean (Get_Strong_Flag (N));
New_Line;
Disp_Header ("Number", Indent + 1);
- New_Line;
Disp_Tree (Get_Number (N), Indent + 1, Full);
- null;
when N_Next_Event_A =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Boolean", Indent + 1);
- New_Line;
Disp_Tree (Get_Boolean (N), Indent + 1, Full);
Disp_Header ("Strong_Flag", Indent + 1);
Disp_Boolean (Get_Strong_Flag (N));
New_Line;
Disp_Header ("Low_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_Low_Bound (N), Indent + 1, Full);
Disp_Header ("High_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_High_Bound (N), Indent + 1, Full);
- null;
when N_Next_Event_E =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Boolean", Indent + 1);
- New_Line;
Disp_Tree (Get_Boolean (N), Indent + 1, Full);
Disp_Header ("Strong_Flag", Indent + 1);
Disp_Boolean (Get_Strong_Flag (N));
New_Line;
Disp_Header ("Low_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_Low_Bound (N), Indent + 1, Full);
Disp_Header ("High_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_High_Bound (N), Indent + 1, Full);
- null;
when N_Abort =>
if not Full then
return;
end if;
Disp_Header ("Property", Indent + 1);
- New_Line;
Disp_Tree (Get_Property (N), Indent + 1, Full);
Disp_Header ("Boolean", Indent + 1);
- New_Line;
Disp_Tree (Get_Boolean (N), Indent + 1, Full);
- null;
when N_Until =>
if not Full then
return;
@@ -537,15 +492,12 @@ package body PSL.Dump_Tree is
Disp_Boolean (Get_Strong_Flag (N));
New_Line;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
Disp_Header ("Inclusive_Flag", Indent + 1);
Disp_Boolean (Get_Inclusive_Flag (N));
New_Line;
- null;
when N_Before =>
if not Full then
return;
@@ -554,167 +506,123 @@ package body PSL.Dump_Tree is
Disp_Boolean (Get_Strong_Flag (N));
New_Line;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
Disp_Header ("Inclusive_Flag", Indent + 1);
Disp_Boolean (Get_Inclusive_Flag (N));
New_Line;
- null;
when N_Or_Prop =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
- null;
when N_And_Prop =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
- null;
when N_Braced_SERE =>
if not Full then
return;
end if;
Disp_Header ("SERE", Indent + 1);
- New_Line;
Disp_Tree (Get_SERE (N), Indent + 1, Full);
- null;
when N_Concat_SERE =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
- null;
when N_Fusion_SERE =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
- null;
when N_Within_SERE =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
- null;
when N_Match_And_Seq =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
- null;
when N_And_Seq =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
- null;
when N_Or_Seq =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
- null;
when N_Star_Repeat_Seq =>
if not Full then
return;
end if;
Disp_Header ("Sequence", Indent + 1);
- New_Line;
Disp_Tree (Get_Sequence (N), Indent + 1, Full);
Disp_Header ("Low_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_Low_Bound (N), Indent + 1, Full);
Disp_Header ("High_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_High_Bound (N), Indent + 1, Full);
- null;
when N_Goto_Repeat_Seq =>
if not Full then
return;
end if;
Disp_Header ("Sequence", Indent + 1);
- New_Line;
Disp_Tree (Get_Sequence (N), Indent + 1, Full);
Disp_Header ("Low_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_Low_Bound (N), Indent + 1, Full);
Disp_Header ("High_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_High_Bound (N), Indent + 1, Full);
- null;
when N_Plus_Repeat_Seq =>
if not Full then
return;
end if;
Disp_Header ("Sequence", Indent + 1);
- New_Line;
Disp_Tree (Get_Sequence (N), Indent + 1, Full);
- null;
when N_Equal_Repeat_Seq =>
if not Full then
return;
end if;
Disp_Header ("Sequence", Indent + 1);
- New_Line;
Disp_Tree (Get_Sequence (N), Indent + 1, Full);
Disp_Header ("Low_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_Low_Bound (N), Indent + 1, Full);
Disp_Header ("High_Bound", Indent + 1);
- New_Line;
Disp_Tree (Get_High_Bound (N), Indent + 1, Full);
- null;
when N_Not_Bool =>
if not Full then
return;
end if;
Disp_Header ("Boolean", Indent + 1);
- New_Line;
Disp_Tree (Get_Boolean (N), Indent + 1, Full);
Disp_Header ("Presence", Indent + 1);
Disp_PSL_Presence_Kind (Get_Presence (N));
@@ -723,18 +631,14 @@ package body PSL.Dump_Tree is
Disp_Uns32 (Get_Hash (N));
New_Line;
Disp_Header ("Hash_Link", Indent + 1);
- New_Line;
Disp_Tree (Get_Hash_Link (N), Indent + 1, Full);
- null;
when N_And_Bool =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
Disp_Header ("Presence", Indent + 1);
Disp_PSL_Presence_Kind (Get_Presence (N));
@@ -743,18 +647,14 @@ package body PSL.Dump_Tree is
Disp_Uns32 (Get_Hash (N));
New_Line;
Disp_Header ("Hash_Link", Indent + 1);
- New_Line;
Disp_Tree (Get_Hash_Link (N), Indent + 1, Full);
- null;
when N_Or_Bool =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
Disp_Header ("Presence", Indent + 1);
Disp_PSL_Presence_Kind (Get_Presence (N));
@@ -763,18 +663,14 @@ package body PSL.Dump_Tree is
Disp_Uns32 (Get_Hash (N));
New_Line;
Disp_Header ("Hash_Link", Indent + 1);
- New_Line;
Disp_Tree (Get_Hash_Link (N), Indent + 1, Full);
- null;
when N_Imp_Bool =>
if not Full then
return;
end if;
Disp_Header ("Left", Indent + 1);
- New_Line;
Disp_Tree (Get_Left (N), Indent + 1, Full);
Disp_Header ("Right", Indent + 1);
- New_Line;
Disp_Tree (Get_Right (N), Indent + 1, Full);
Disp_Header ("Presence", Indent + 1);
Disp_PSL_Presence_Kind (Get_Presence (N));
@@ -783,9 +679,7 @@ package body PSL.Dump_Tree is
Disp_Uns32 (Get_Hash (N));
New_Line;
Disp_Header ("Hash_Link", Indent + 1);
- New_Line;
Disp_Tree (Get_Hash_Link (N), Indent + 1, Full);
- null;
when N_HDL_Expr =>
if not Full then
return;
@@ -803,19 +697,15 @@ package body PSL.Dump_Tree is
Disp_Uns32 (Get_Hash (N));
New_Line;
Disp_Header ("Hash_Link", Indent + 1);
- New_Line;
Disp_Tree (Get_Hash_Link (N), Indent + 1, Full);
- null;
when N_False =>
if not Full then
return;
end if;
- null;
when N_True =>
if not Full then
return;
end if;
- null;
when N_EOS =>
if not Full then
return;
@@ -827,9 +717,7 @@ package body PSL.Dump_Tree is
Disp_Uns32 (Get_Hash (N));
New_Line;
Disp_Header ("Hash_Link", Indent + 1);
- New_Line;
Disp_Tree (Get_Hash_Link (N), Indent + 1, Full);
- null;
when N_Name =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
@@ -837,17 +725,18 @@ package body PSL.Dump_Tree is
return;
end if;
Disp_Header ("Decl", Indent + 1);
- New_Line;
Disp_Tree (Get_Decl (N), Indent + 1, Full);
- null;
when N_Name_Decl =>
Disp_Header ("Identifier", Indent + 1);
Disp_Identifier (N);
if not Full then
return;
end if;
- Disp_Tree (Get_Chain (N), Indent, Full);
- null;
+ Chain := Get_Chain (N);
+ if Chain /= Null_Node then
+ Disp_Indent (Indent);
+ Disp_Tree (Chain, Indent, Full);
+ end if;
when N_Number =>
if not Full then
return;
@@ -855,7 +744,6 @@ package body PSL.Dump_Tree is
Disp_Header ("Value", Indent + 1);
Disp_Uns32 (Get_Value (N));
New_Line;
- null;
end case;
end Disp_Tree;