diff options
Diffstat (limited to 'gcc/ada/prj-tree.adb')
-rw-r--r-- | gcc/ada/prj-tree.adb | 314 |
1 files changed, 185 insertions, 129 deletions
diff --git a/gcc/ada/prj-tree.adb b/gcc/ada/prj-tree.adb index 83ee5f936b6..0f9f5de986f 100644 --- a/gcc/ada/prj-tree.adb +++ b/gcc/ada/prj-tree.adb @@ -94,13 +94,13 @@ package body Prj.Tree is begin pragma Assert - (To /= Empty_Node + (Present (To) and then In_Tree.Project_Nodes.Table (To).Kind /= N_Comment); Zone := In_Tree.Project_Nodes.Table (To).Comments; - if Zone = Empty_Node then + if No (Zone) then -- Create new N_Comment_Zones node @@ -122,6 +122,7 @@ package body Prj.Tree is Field1 => Empty_Node, Field2 => Empty_Node, Field3 => Empty_Node, + Field4 => Empty_Node, Flag1 => False, Flag2 => False, Comments => Empty_Node); @@ -171,12 +172,13 @@ package body Prj.Tree is Field1 => Empty_Node, Field2 => Empty_Node, Field3 => Empty_Node, + Field4 => Empty_Node, Comments => Empty_Node); -- If this is the first comment, put it in the right field of -- the node Zone. - if Previous = Empty_Node then + if No (Previous) then case Where is when Before => In_Tree.Project_Nodes.Table (Zone).Field1 := @@ -228,7 +230,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration or else @@ -246,7 +248,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration)); return In_Tree.Project_Nodes.Table (Node).Field3; @@ -262,7 +264,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration)); return In_Tree.Project_Nodes.Table (Node).Field2; @@ -277,7 +279,7 @@ package body Prj.Tree is In_Tree : Project_Node_Tree_Ref) return Boolean is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration or else @@ -295,7 +297,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Construction); return In_Tree.Project_Nodes.Table (Node).Field1; @@ -312,13 +314,13 @@ package body Prj.Tree is Zone : Project_Node_Id; begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); Zone := In_Tree.Project_Nodes.Table (Node).Comments; -- If there is not already an N_Comment_Zones associated, create a new -- one and associate it with node Node. - if Zone = Empty_Node then + if No (Zone) then Project_Node_Table.Increment_Last (In_Tree.Project_Nodes); Zone := Project_Node_Table.Last (In_Tree.Project_Nodes); In_Tree.Project_Nodes.Table (Zone) := @@ -337,6 +339,7 @@ package body Prj.Tree is Field1 => Empty_Node, Field2 => Empty_Node, Field3 => Empty_Node, + Field4 => Empty_Node, Flag1 => False, Flag2 => False, Comments => Empty_Node); @@ -356,7 +359,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Declarative_Item); return In_Tree.Project_Nodes.Table (Node).Field1; @@ -372,7 +375,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Term); return In_Tree.Project_Nodes.Table (Node).Field1; @@ -412,6 +415,7 @@ package body Prj.Tree is Field1 => Empty_Node, Field2 => Empty_Node, Field3 => Empty_Node, + Field4 => Empty_Node, Flag1 => False, Flag2 => False, Comments => Empty_Node); @@ -447,6 +451,7 @@ package body Prj.Tree is Field1 => Empty_Node, Field2 => Empty_Node, Field3 => Empty_Node, + Field4 => Empty_Node, Flag1 => False, Flag2 => False, Comments => Empty_Node); @@ -480,12 +485,13 @@ package body Prj.Tree is Field1 => Empty_Node, Field2 => Empty_Node, Field3 => Empty_Node, + Field4 => Empty_Node, Comments => Empty_Node); -- Link it to the N_Comment_Zones node, if it is the first, -- otherwise to the previous one. - if Previous = Empty_Node then + if No (Previous) then In_Tree.Project_Nodes.Table (Zone).Field1 := Project_Node_Table.Last (In_Tree.Project_Nodes); @@ -518,7 +524,7 @@ package body Prj.Tree is In_Tree : Project_Node_Tree_Ref) return Path_Name_Type is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); return In_Tree.Project_Nodes.Table (Node).Directory; @@ -534,10 +540,10 @@ package body Prj.Tree is Zone : Project_Node_Id := Empty_Node; begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); Zone := In_Tree.Project_Nodes.Table (Node).Comments; - if Zone = Empty_Node then + if No (Zone) then return No_Name; else return In_Tree.Project_Nodes.Table (Zone).Value; @@ -553,7 +559,7 @@ package body Prj.Tree is In_Tree : Project_Node_Tree_Ref) return Variable_Kind is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String or else @@ -588,7 +594,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration @@ -612,7 +618,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration); return In_Tree.Project_Nodes.Table (Node).Field2; @@ -628,7 +634,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); return Path_Name_Type (In_Tree.Project_Nodes.Table (Node).Value); @@ -643,7 +649,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration); return In_Tree.Project_Nodes.Table (Node).Field3; @@ -659,7 +665,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_External_Value); return In_Tree.Project_Nodes.Table (Node).Field1; @@ -676,7 +682,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_External_Value); return In_Tree.Project_Nodes.Table (Node).Field2; @@ -692,7 +698,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Construction); return In_Tree.Project_Nodes.Table (Node).Field2; @@ -709,7 +715,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Item); return In_Tree.Project_Nodes.Table (Node).Field1; @@ -725,10 +731,10 @@ package body Prj.Tree is is Zone : Project_Node_Id := Empty_Node; begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); Zone := In_Tree.Project_Nodes.Table (Node).Comments; - if Zone = Empty_Node then + if No (Zone) then return Empty_Node; else @@ -748,10 +754,10 @@ package body Prj.Tree is Zone : Project_Node_Id := Empty_Node; begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); Zone := In_Tree.Project_Nodes.Table (Node).Comments; - if Zone = Empty_Node then + if No (Zone) then return Empty_Node; else @@ -770,10 +776,10 @@ package body Prj.Tree is Zone : Project_Node_Id := Empty_Node; begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); Zone := In_Tree.Project_Nodes.Table (Node).Comments; - if Zone = Empty_Node then + if No (Zone) then return Empty_Node; else @@ -792,10 +798,10 @@ package body Prj.Tree is Zone : Project_Node_Id := Empty_Node; begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); Zone := In_Tree.Project_Nodes.Table (Node).Comments; - if Zone = Empty_Node then + if No (Zone) then return Empty_Node; else @@ -813,7 +819,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration or else @@ -838,7 +844,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String_List); return In_Tree.Project_Nodes.Table (Node).Field1; @@ -854,7 +860,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_String_Type_Declaration); @@ -871,7 +877,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); return In_Tree.Project_Nodes.Table (Node).Packages; @@ -887,7 +893,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); return In_Tree.Project_Nodes.Table (Node).Field3; @@ -903,7 +909,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Expression); return In_Tree.Project_Nodes.Table (Node).Field1; @@ -919,7 +925,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Project or else @@ -938,7 +944,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); return In_Tree.Project_Nodes.Table (Node).Field1; @@ -953,7 +959,7 @@ package body Prj.Tree is In_Tree : Project_Node_Tree_Ref) return Boolean is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Comment); return In_Tree.Project_Nodes.Table (Node).Flag1; @@ -988,7 +994,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Comment); return In_Tree.Project_Nodes.Table (Node).Flag2; @@ -1003,7 +1009,7 @@ package body Prj.Tree is In_Tree : Project_Node_Tree_Ref) return Boolean is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Project or else @@ -1020,7 +1026,7 @@ package body Prj.Tree is In_Tree : Project_Node_Tree_Ref) return Boolean is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause); return In_Tree.Project_Nodes.Table (Node).Flag1; @@ -1042,27 +1048,27 @@ package body Prj.Tree is begin -- First check all the imported projects - while With_Clause /= Empty_Node loop + while Present (With_Clause) loop -- Only non limited imported project may be used as prefix -- of variable or attributes. Result := Non_Limited_Project_Node_Of (With_Clause, In_Tree); - exit when Result /= Empty_Node + exit when Present (Result) and then Name_Of (Result, In_Tree) = With_Name; With_Clause := Next_With_Clause_Of (With_Clause, In_Tree); end loop; -- If it is not an imported project, it might be an extended project - if With_Clause = Empty_Node then + if No (With_Clause) then Result := Project; loop Result := Extended_Project_Of (Project_Declaration_Of (Result, In_Tree), In_Tree); - exit when Result = Empty_Node + exit when No (Result) or else Name_Of (Result, In_Tree) = With_Name; end loop; end if; @@ -1078,7 +1084,7 @@ package body Prj.Tree is (Node : Project_Node_Id; In_Tree : Project_Node_Tree_Ref) return Project_Node_Kind is begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); return In_Tree.Project_Nodes.Table (Node).Kind; end Kind_Of; @@ -1090,7 +1096,7 @@ package body Prj.Tree is (Node : Project_Node_Id; In_Tree : Project_Node_Tree_Ref) return Source_Ptr is begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); return In_Tree.Project_Nodes.Table (Node).Location; end Location_Of; @@ -1102,7 +1108,7 @@ package body Prj.Tree is (Node : Project_Node_Id; In_Tree : Project_Node_Tree_Ref) return Name_Id is begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); return In_Tree.Project_Nodes.Table (Node).Name; end Name_Of; @@ -1116,7 +1122,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Item); return In_Tree.Project_Nodes.Table (Node).Field3; @@ -1131,7 +1137,7 @@ package body Prj.Tree is In_Tree : Project_Node_Tree_Ref) return Project_Node_Id is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Comment); return In_Tree.Project_Nodes.Table (Node).Comments; @@ -1147,7 +1153,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Declarative_Item); return In_Tree.Project_Nodes.Table (Node).Field2; @@ -1163,7 +1169,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Expression); return In_Tree.Project_Nodes.Table (Node).Field2; @@ -1180,7 +1186,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String); return In_Tree.Project_Nodes.Table (Node).Field1; @@ -1196,7 +1202,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration); return In_Tree.Project_Nodes.Table (Node).Field3; @@ -1213,7 +1219,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_String_Type_Declaration); @@ -1230,7 +1236,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Term); return In_Tree.Project_Nodes.Table (Node).Field2; @@ -1247,7 +1253,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Typed_Variable_Declaration @@ -1268,12 +1274,21 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause); return In_Tree.Project_Nodes.Table (Node).Field2; end Next_With_Clause_Of; + -------- + -- No -- + -------- + + function No (Node : Project_Node_Id) return Boolean is + begin + return Node = Empty_Node; + end No; + --------------------------------- -- Non_Limited_Project_Node_Of -- --------------------------------- @@ -1284,7 +1299,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause)); return In_Tree.Project_Nodes.Table (Node).Field3; @@ -1300,7 +1315,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration); return In_Tree.Project_Nodes.Table (Node).Pkg_Id; @@ -1316,7 +1331,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference or else @@ -1334,7 +1349,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Project or else @@ -1342,6 +1357,15 @@ package body Prj.Tree is return In_Tree.Project_Nodes.Table (Node).Path_Name; end Path_Name_Of; + ------------- + -- Present -- + ------------- + + function Present (Node : Project_Node_Id) return Boolean is + begin + return Node /= Empty_Node; + end Present; + ---------------------------- -- Project_Declaration_Of -- ---------------------------- @@ -1352,7 +1376,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); return In_Tree.Project_Nodes.Table (Node).Field2; @@ -1368,12 +1392,28 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); return In_Tree.Project_Nodes.Table (Node).Qualifier; end Project_Qualifier_Of; + ----------------------- + -- Parent_Project_Of -- + ----------------------- + + function Parent_Project_Of + (Node : Project_Node_Id; + In_Tree : Project_Node_Tree_Ref) return Project_Node_Id + is + begin + pragma Assert + (Present (Node) + and then + In_Tree.Project_Nodes.Table (Node).Kind = N_Project); + return In_Tree.Project_Nodes.Table (Node).Field4; + end Parent_Project_Of; + ------------------------------------------- -- Project_File_Includes_Unkept_Comments -- ------------------------------------------- @@ -1398,7 +1438,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause or else @@ -1418,7 +1458,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration); return In_Tree.Project_Nodes.Table (Node).Field1; @@ -1534,7 +1574,7 @@ package body Prj.Tree is -- an end of line node specified, associate the comment with -- this node. - elsif End_Of_Line_Node /= Empty_Node then + elsif Present (End_Of_Line_Node) then declare Zones : constant Project_Node_Id := Comment_Zones_Of (End_Of_Line_Node, In_Tree); @@ -1559,13 +1599,13 @@ package body Prj.Tree is if Comments.Last > 0 and then not Comments.Table (1).Follows_Empty_Line then - if Previous_Line_Node /= Empty_Node then + if Present (Previous_Line_Node) then Add_Comments (To => Previous_Line_Node, Where => After, In_Tree => In_Tree); - elsif Previous_End_Node /= Empty_Node then + elsif Present (Previous_End_Node) then Add_Comments (To => Previous_End_Node, Where => After_End, @@ -1617,7 +1657,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration or else @@ -1636,7 +1676,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration); In_Tree.Project_Nodes.Table (Node).Field3 := To; @@ -1653,7 +1693,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration)); @@ -1671,7 +1711,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration or else @@ -1690,7 +1730,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Construction); In_Tree.Project_Nodes.Table (Node).Field1 := To; @@ -1707,7 +1747,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Declarative_Item); In_Tree.Project_Nodes.Table (Node).Field1 := To; @@ -1724,7 +1764,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Term); In_Tree.Project_Nodes.Table (Node).Field1 := To; @@ -1741,7 +1781,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); In_Tree.Project_Nodes.Table (Node).Directory := To; @@ -1767,7 +1807,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String or else @@ -1802,7 +1842,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration @@ -1826,7 +1866,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_External_Value); In_Tree.Project_Nodes.Table (Node).Field1 := To; @@ -1843,7 +1883,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_External_Value); In_Tree.Project_Nodes.Table (Node).Field2 := To; @@ -1860,7 +1900,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Construction); In_Tree.Project_Nodes.Table (Node).Field2 := To; @@ -1877,7 +1917,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Item); In_Tree.Project_Nodes.Table (Node).Field1 := To; @@ -1951,7 +1991,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Item); In_Tree.Project_Nodes.Table (Node).Field3 := To; @@ -1968,7 +2008,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Comment); In_Tree.Project_Nodes.Table (Node).Comments := To; @@ -1985,7 +2025,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration or else @@ -2011,7 +2051,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String_List); In_Tree.Project_Nodes.Table (Node).Field1 := To; @@ -2028,7 +2068,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_String_Type_Declaration); @@ -2046,7 +2086,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); In_Tree.Project_Nodes.Table (Node).Packages := To; @@ -2063,7 +2103,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); In_Tree.Project_Nodes.Table (Node).Field3 := To; @@ -2080,7 +2120,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Expression); In_Tree.Project_Nodes.Table (Node).Field1 := To; @@ -2097,7 +2137,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Project or else @@ -2116,7 +2156,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); In_Tree.Project_Nodes.Table (Node).Field1 := To; @@ -2132,7 +2172,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Project or else @@ -2150,7 +2190,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause); In_Tree.Project_Nodes.Table (Node).Flag1 := True; @@ -2166,7 +2206,7 @@ package body Prj.Tree is To : Project_Node_Kind) is begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); In_Tree.Project_Nodes.Table (Node).Kind := To; end Set_Kind_Of; @@ -2180,7 +2220,7 @@ package body Prj.Tree is To : Source_Ptr) is begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); In_Tree.Project_Nodes.Table (Node).Location := To; end Set_Location_Of; @@ -2195,7 +2235,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration); In_Tree.Project_Nodes.Table (Node).Field2 := To; @@ -2212,7 +2252,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); In_Tree.Project_Nodes.Table (Node).Value := Name_Id (To); @@ -2229,7 +2269,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration); In_Tree.Project_Nodes.Table (Node).Field3 := To; @@ -2245,7 +2285,7 @@ package body Prj.Tree is To : Name_Id) is begin - pragma Assert (Node /= Empty_Node); + pragma Assert (Present (Node)); In_Tree.Project_Nodes.Table (Node).Name := To; end Set_Name_Of; @@ -2260,7 +2300,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Declarative_Item); In_Tree.Project_Nodes.Table (Node).Field2 := To; @@ -2287,7 +2327,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Expression); In_Tree.Project_Nodes.Table (Node).Field2 := To; @@ -2304,7 +2344,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String); In_Tree.Project_Nodes.Table (Node).Field1 := To; @@ -2321,7 +2361,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration); In_Tree.Project_Nodes.Table (Node).Field3 := To; @@ -2338,7 +2378,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_String_Type_Declaration); @@ -2356,7 +2396,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Term); In_Tree.Project_Nodes.Table (Node).Field2 := To; @@ -2373,7 +2413,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Typed_Variable_Declaration @@ -2394,7 +2434,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause); In_Tree.Project_Nodes.Table (Node).Field2 := To; @@ -2411,7 +2451,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration); In_Tree.Project_Nodes.Table (Node).Pkg_Id := To; @@ -2428,7 +2468,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference or else @@ -2447,7 +2487,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Project or else @@ -2483,7 +2523,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); In_Tree.Project_Nodes.Table (Node).Field2 := To; @@ -2500,11 +2540,27 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); In_Tree.Project_Nodes.Table (Node).Qualifier := To; end Set_Project_Qualifier_Of; + --------------------------- + -- Set_Parent_Project_Of -- + --------------------------- + + procedure Set_Parent_Project_Of + (Node : Project_Node_Id; + In_Tree : Project_Node_Tree_Ref; + To : Project_Node_Id) + is + begin + pragma Assert + (Present (Node) + and then In_Tree.Project_Nodes.Table (Node).Kind = N_Project); + In_Tree.Project_Nodes.Table (Node).Field4 := To; + end Set_Parent_Project_Of; + ----------------------------------------------- -- Set_Project_File_Includes_Unkept_Comments -- ----------------------------------------------- @@ -2532,7 +2588,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause or else @@ -2559,7 +2615,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration); In_Tree.Project_Nodes.Table (Node).Field1 := To; @@ -2576,7 +2632,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String or else @@ -2596,7 +2652,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference @@ -2624,7 +2680,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause or else @@ -2644,7 +2700,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String or else @@ -2663,7 +2719,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference @@ -2688,7 +2744,7 @@ package body Prj.Tree is is begin pragma Assert - (Node /= Empty_Node + (Present (Node) and then (In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause or else @@ -2709,7 +2765,7 @@ package body Prj.Tree is is begin pragma Assert - (For_Typed_Variable /= Empty_Node + (Present (For_Typed_Variable) and then (In_Tree.Project_Nodes.Table (For_Typed_Variable).Kind = N_Typed_Variable_Declaration)); @@ -2721,7 +2777,7 @@ package body Prj.Tree is In_Tree); begin - while Current_String /= Empty_Node + while Present (Current_String) and then String_Value_Of (Current_String, In_Tree) /= Value loop @@ -2729,7 +2785,7 @@ package body Prj.Tree is Next_Literal_String (Current_String, In_Tree); end loop; - return Current_String /= Empty_Node; + return Present (Current_String); end; end Value_Is_Valid; |