summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-tree.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/prj-tree.adb')
-rw-r--r--gcc/ada/prj-tree.adb1175
1 files changed, 682 insertions, 493 deletions
diff --git a/gcc/ada/prj-tree.adb b/gcc/ada/prj-tree.adb
index 2a67b57c5b1..de210e1edb7 100644
--- a/gcc/ada/prj-tree.adb
+++ b/gcc/ada/prj-tree.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2004 Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2005 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -76,7 +76,8 @@ package body Prj.Tree is
-- Set to True when some comments may not be associated with any node
function Comment_Zones_Of
- (Node : Project_Node_Id) return Project_Node_Id;
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id;
-- Returns the ID of the N_Comment_Zones node associated with node Node.
-- If there is not already an N_Comment_Zones node, create one and
-- associate it with node Node.
@@ -85,7 +86,10 @@ package body Prj.Tree is
-- Add_Comments --
------------------
- procedure Add_Comments (To : Project_Node_Id; Where : Comment_Location) is
+ procedure Add_Comments
+ (To : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ Where : Comment_Location) is
Zone : Project_Node_Id := Empty_Node;
Previous : Project_Node_Id := Empty_Node;
@@ -93,16 +97,17 @@ package body Prj.Tree is
pragma Assert
(To /= Empty_Node
and then
- Project_Nodes.Table (To).Kind /= N_Comment);
+ In_Tree.Project_Nodes.Table (To).Kind /= N_Comment);
- Zone := Project_Nodes.Table (To).Comments;
+ Zone := In_Tree.Project_Nodes.Table (To).Comments;
if Zone = Empty_Node then
-- Create new N_Comment_Zones node
- Project_Nodes.Increment_Last;
- Project_Nodes.Table (Project_Nodes.Last) :=
+ Project_Node_Table.Increment_Last (In_Tree.Project_Nodes);
+ In_Tree.Project_Nodes.Table
+ (Project_Node_Table.Last (In_Tree.Project_Nodes)) :=
(Kind => N_Comment_Zones,
Expr_Kind => Undefined,
Location => No_Location,
@@ -121,12 +126,12 @@ package body Prj.Tree is
Flag2 => False,
Comments => Empty_Node);
- Zone := Project_Nodes.Last;
- Project_Nodes.Table (To).Comments := Zone;
+ Zone := Project_Node_Table.Last (In_Tree.Project_Nodes);
+ In_Tree.Project_Nodes.Table (To).Comments := Zone;
end if;
if Where = End_Of_Line then
- Project_Nodes.Table (Zone).Value := Comments.Table (1).Value;
+ In_Tree.Project_Nodes.Table (Zone).Value := Comments.Table (1).Value;
else
-- Get each comments in the Comments table and link them to node To
@@ -145,8 +150,9 @@ package body Prj.Tree is
return;
end if;
- Project_Nodes.Increment_Last;
- Project_Nodes.Table (Project_Nodes.Last) :=
+ Project_Node_Table.Increment_Last (In_Tree.Project_Nodes);
+ In_Tree.Project_Nodes.Table
+ (Project_Node_Table.Last (In_Tree.Project_Nodes)) :=
(Kind => N_Comment,
Expr_Kind => Undefined,
Flag1 => Comments.Table (J).Follows_Empty_Line,
@@ -172,16 +178,20 @@ package body Prj.Tree is
if Previous = Empty_Node then
case Where is
when Before =>
- Project_Nodes.Table (Zone).Field1 := Project_Nodes.Last;
+ In_Tree.Project_Nodes.Table (Zone).Field1 :=
+ Project_Node_Table.Last (In_Tree.Project_Nodes);
when After =>
- Project_Nodes.Table (Zone).Field2 := Project_Nodes.Last;
+ In_Tree.Project_Nodes.Table (Zone).Field2 :=
+ Project_Node_Table.Last (In_Tree.Project_Nodes);
when Before_End =>
- Project_Nodes.Table (Zone).Field3 := Project_Nodes.Last;
+ In_Tree.Project_Nodes.Table (Zone).Field3 :=
+ Project_Node_Table.Last (In_Tree.Project_Nodes);
when After_End =>
- Project_Nodes.Table (Zone).Comments := Project_Nodes.Last;
+ In_Tree.Project_Nodes.Table (Zone).Comments :=
+ Project_Node_Table.Last (In_Tree.Project_Nodes);
when End_Of_Line =>
null;
@@ -190,13 +200,14 @@ package body Prj.Tree is
else
-- When it is not the first, link it to the previous one
- Project_Nodes.Table (Previous).Comments := Project_Nodes.Last;
+ In_Tree.Project_Nodes.Table (Previous).Comments :=
+ Project_Node_Table.Last (In_Tree.Project_Nodes);
end if;
-- This node becomes the previous one for the next comment, if
-- there is one.
- Previous := Project_Nodes.Last;
+ Previous := Project_Node_Table.Last (In_Tree.Project_Nodes);
end loop;
end if;
@@ -211,16 +222,17 @@ package body Prj.Tree is
--------------------------------
function Associative_Array_Index_Of
- (Node : Project_Node_Id) return Name_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Name_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
- return Project_Nodes.Table (Node).Value;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
+ return In_Tree.Project_Nodes.Table (Node).Value;
end Associative_Array_Index_Of;
----------------------------
@@ -228,14 +240,15 @@ package body Prj.Tree is
----------------------------
function Associative_Package_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Attribute_Declaration));
- return Project_Nodes.Table (Node).Field3;
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration));
+ return In_Tree.Project_Nodes.Table (Node).Field3;
end Associative_Package_Of;
----------------------------
@@ -243,29 +256,32 @@ package body Prj.Tree is
----------------------------
function Associative_Project_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Attribute_Declaration));
- return Project_Nodes.Table (Node).Field2;
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration));
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end Associative_Project_Of;
----------------------
-- Case_Insensitive --
----------------------
- function Case_Insensitive (Node : Project_Node_Id) return Boolean is
+ function Case_Insensitive
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Boolean is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
- return Project_Nodes.Table (Node).Flag1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
+ return In_Tree.Project_Nodes.Table (Node).Flag1;
end Case_Insensitive;
--------------------------------
@@ -273,14 +289,15 @@ package body Prj.Tree is
--------------------------------
function Case_Variable_Reference_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Case_Construction);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Construction);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end Case_Variable_Reference_Of;
----------------------
@@ -288,21 +305,22 @@ package body Prj.Tree is
----------------------
function Comment_Zones_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
Zone : Project_Node_Id;
begin
pragma Assert (Node /= Empty_Node);
- Zone := Project_Nodes.Table (Node).Comments;
+ 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
- Project_Nodes.Increment_Last;
- Zone := Project_Nodes.Last;
- Project_Nodes.Table (Zone) :=
+ Project_Node_Table.Increment_Last (In_Tree.Project_Nodes);
+ Zone := Project_Node_Table.Last (In_Tree.Project_Nodes);
+ In_Tree.Project_Nodes.Table (Zone) :=
(Kind => N_Comment_Zones,
Location => No_Location,
Directory => No_Name,
@@ -320,7 +338,7 @@ package body Prj.Tree is
Flag1 => False,
Flag2 => False,
Comments => Empty_Node);
- Project_Nodes.Table (Node).Comments := Zone;
+ In_Tree.Project_Nodes.Table (Node).Comments := Zone;
end if;
return Zone;
@@ -331,14 +349,15 @@ package body Prj.Tree is
-----------------------
function Current_Item_Node
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Declarative_Item);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Declarative_Item);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end Current_Item_Node;
------------------
@@ -346,14 +365,15 @@ package body Prj.Tree is
------------------
function Current_Term
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Term);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Term);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end Current_Term;
--------------------------
@@ -361,7 +381,8 @@ package body Prj.Tree is
--------------------------
function Default_Project_Node
- (Of_Kind : Project_Node_Kind;
+ (In_Tree : Project_Node_Tree_Ref;
+ Of_Kind : Project_Node_Kind;
And_Expr_Kind : Variable_Kind := Undefined) return Project_Node_Id
is
Result : Project_Node_Id;
@@ -371,8 +392,9 @@ package body Prj.Tree is
begin
-- Create new node with specified kind and expression kind
- Project_Nodes.Increment_Last;
- Project_Nodes.Table (Project_Nodes.Last) :=
+ Project_Node_Table.Increment_Last (In_Tree.Project_Nodes);
+ In_Tree.Project_Nodes.Table
+ (Project_Node_Table.Last (In_Tree.Project_Nodes)) :=
(Kind => Of_Kind,
Location => No_Location,
Directory => No_Name,
@@ -393,7 +415,7 @@ package body Prj.Tree is
-- Save the new node for the returned value
- Result := Project_Nodes.Last;
+ Result := Project_Node_Table.Last (In_Tree.Project_Nodes);
if Comments.Last > 0 then
@@ -404,8 +426,9 @@ package body Prj.Tree is
elsif Of_Kind /= N_Comment and then Of_Kind /= N_Comment_Zones then
- Project_Nodes.Increment_Last;
- Project_Nodes.Table (Project_Nodes.Last) :=
+ Project_Node_Table.Increment_Last (In_Tree.Project_Nodes);
+ In_Tree.Project_Nodes.Table
+ (Project_Node_Table.Last (In_Tree.Project_Nodes)) :=
(Kind => N_Comment_Zones,
Expr_Kind => Undefined,
Location => No_Location,
@@ -424,16 +447,17 @@ package body Prj.Tree is
Flag2 => False,
Comments => Empty_Node);
- Zone := Project_Nodes.Last;
- Project_Nodes.Table (Result).Comments := Zone;
+ Zone := Project_Node_Table.Last (In_Tree.Project_Nodes);
+ In_Tree.Project_Nodes.Table (Result).Comments := Zone;
Previous := Empty_Node;
for J in 1 .. Comments.Last loop
-- Create a new N_Comment node
- Project_Nodes.Increment_Last;
- Project_Nodes.Table (Project_Nodes.Last) :=
+ Project_Node_Table.Increment_Last (In_Tree.Project_Nodes);
+ In_Tree.Project_Nodes.Table
+ (Project_Node_Table.Last (In_Tree.Project_Nodes)) :=
(Kind => N_Comment,
Expr_Kind => Undefined,
Flag1 => Comments.Table (J).Follows_Empty_Line,
@@ -457,17 +481,18 @@ package body Prj.Tree is
-- otherwise to the previous one.
if Previous = Empty_Node then
- Project_Nodes.Table (Zone).Field1 := Project_Nodes.Last;
+ In_Tree.Project_Nodes.Table (Zone).Field1 :=
+ Project_Node_Table.Last (In_Tree.Project_Nodes);
else
- Project_Nodes.Table (Previous).Comments :=
- Project_Nodes.Last;
+ In_Tree.Project_Nodes.Table (Previous).Comments :=
+ Project_Node_Table.Last (In_Tree.Project_Nodes);
end if;
-- This new node will be the previous one for the next
-- N_Comment node, if there is one.
- Previous := Project_Nodes.Last;
+ Previous := Project_Node_Table.Last (In_Tree.Project_Nodes);
end loop;
-- Empty the Comments table after all comments have been processed
@@ -483,30 +508,34 @@ package body Prj.Tree is
-- Directory_Of --
------------------
- function Directory_Of (Node : Project_Node_Id) return Name_Id is
+ function Directory_Of
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Name_Id is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- return Project_Nodes.Table (Node).Directory;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ return In_Tree.Project_Nodes.Table (Node).Directory;
end Directory_Of;
-------------------------
-- End_Of_Line_Comment --
-------------------------
- function End_Of_Line_Comment (Node : Project_Node_Id) return Name_Id is
+ function End_Of_Line_Comment
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Name_Id is
Zone : Project_Node_Id := Empty_Node;
begin
pragma Assert (Node /= Empty_Node);
- Zone := Project_Nodes.Table (Node).Comments;
+ Zone := In_Tree.Project_Nodes.Table (Node).Comments;
if Zone = Empty_Node then
return No_Name;
else
- return Project_Nodes.Table (Zone).Value;
+ return In_Tree.Project_Nodes.Table (Zone).Value;
end if;
end End_Of_Line_Comment;
@@ -514,30 +543,34 @@ package body Prj.Tree is
-- Expression_Kind_Of --
------------------------
- function Expression_Kind_Of (Node : Project_Node_Id) return Variable_Kind is
+ function Expression_Kind_Of
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Variable_Kind is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Literal_String
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Variable_Declaration
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Typed_Variable_Declaration
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Typed_Variable_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Package_Declaration
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Expression
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Expression
or else
- Project_Nodes.Table (Node).Kind = N_Term
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Term
or else
- Project_Nodes.Table (Node).Kind = N_Variable_Reference
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Attribute_Reference));
- return Project_Nodes.Table (Node).Expr_Kind;
+ return In_Tree.Project_Nodes.Table (Node).Expr_Kind;
end Expression_Kind_Of;
-------------------
@@ -545,19 +578,23 @@ package body Prj.Tree is
-------------------
function Expression_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
+ (In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Attribute_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Typed_Variable_Declaration
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Typed_Variable_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Variable_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Variable_Declaration));
- return Project_Nodes.Table (Node).Field1;
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end Expression_Of;
-------------------------
@@ -565,14 +602,15 @@ package body Prj.Tree is
-------------------------
function Extended_Project_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project_Declaration);
- return Project_Nodes.Table (Node).Field2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration);
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end Extended_Project_Of;
------------------------------
@@ -580,28 +618,30 @@ package body Prj.Tree is
------------------------------
function Extended_Project_Path_Of
- (Node : Project_Node_Id) return Name_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Name_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- return Project_Nodes.Table (Node).Value;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ return In_Tree.Project_Nodes.Table (Node).Value;
end Extended_Project_Path_Of;
--------------------------
-- Extending_Project_Of --
--------------------------
function Extending_Project_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project_Declaration);
- return Project_Nodes.Table (Node).Field3;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration);
+ return In_Tree.Project_Nodes.Table (Node).Field3;
end Extending_Project_Of;
---------------------------
@@ -609,14 +649,15 @@ package body Prj.Tree is
---------------------------
function External_Reference_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_External_Value);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_External_Value);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end External_Reference_Of;
-------------------------
@@ -624,15 +665,16 @@ package body Prj.Tree is
-------------------------
function External_Default_Of
- (Node : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref)
return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_External_Value);
- return Project_Nodes.Table (Node).Field2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_External_Value);
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end External_Default_Of;
------------------------
@@ -640,14 +682,15 @@ package body Prj.Tree is
------------------------
function First_Case_Item_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Case_Construction);
- return Project_Nodes.Table (Node).Field2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Construction);
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end First_Case_Item_Of;
---------------------
@@ -655,15 +698,16 @@ package body Prj.Tree is
---------------------
function First_Choice_Of
- (Node : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref)
return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Case_Item);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Item);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end First_Choice_Of;
-------------------------
@@ -671,18 +715,19 @@ package body Prj.Tree is
-------------------------
function First_Comment_After
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
Zone : Project_Node_Id := Empty_Node;
begin
pragma Assert (Node /= Empty_Node);
- Zone := Project_Nodes.Table (Node).Comments;
+ Zone := In_Tree.Project_Nodes.Table (Node).Comments;
if Zone = Empty_Node then
return Empty_Node;
else
- return Project_Nodes.Table (Zone).Field2;
+ return In_Tree.Project_Nodes.Table (Zone).Field2;
end if;
end First_Comment_After;
@@ -691,20 +736,21 @@ package body Prj.Tree is
-----------------------------
function First_Comment_After_End
- (Node : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref)
return Project_Node_Id
is
Zone : Project_Node_Id := Empty_Node;
begin
pragma Assert (Node /= Empty_Node);
- Zone := Project_Nodes.Table (Node).Comments;
+ Zone := In_Tree.Project_Nodes.Table (Node).Comments;
if Zone = Empty_Node then
return Empty_Node;
else
- return Project_Nodes.Table (Zone).Comments;
+ return In_Tree.Project_Nodes.Table (Zone).Comments;
end if;
end First_Comment_After_End;
@@ -713,19 +759,20 @@ package body Prj.Tree is
--------------------------
function First_Comment_Before
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
Zone : Project_Node_Id := Empty_Node;
begin
pragma Assert (Node /= Empty_Node);
- Zone := Project_Nodes.Table (Node).Comments;
+ Zone := In_Tree.Project_Nodes.Table (Node).Comments;
if Zone = Empty_Node then
return Empty_Node;
else
- return Project_Nodes.Table (Zone).Field1;
+ return In_Tree.Project_Nodes.Table (Zone).Field1;
end if;
end First_Comment_Before;
@@ -734,19 +781,20 @@ package body Prj.Tree is
------------------------------
function First_Comment_Before_End
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
Zone : Project_Node_Id := Empty_Node;
begin
pragma Assert (Node /= Empty_Node);
- Zone := Project_Nodes.Table (Node).Comments;
+ Zone := In_Tree.Project_Nodes.Table (Node).Comments;
if Zone = Empty_Node then
return Empty_Node;
else
- return Project_Nodes.Table (Zone).Field3;
+ return In_Tree.Project_Nodes.Table (Zone).Field3;
end if;
end First_Comment_Before_End;
@@ -755,22 +803,23 @@ package body Prj.Tree is
-------------------------------
function First_Declarative_Item_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Project_Declaration
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Case_Item
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Item
or else
- Project_Nodes.Table (Node).Kind = N_Package_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration));
- if Project_Nodes.Table (Node).Kind = N_Project_Declaration then
- return Project_Nodes.Table (Node).Field1;
+ if In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration then
+ return In_Tree.Project_Nodes.Table (Node).Field1;
else
- return Project_Nodes.Table (Node).Field2;
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end if;
end First_Declarative_Item_Of;
@@ -779,14 +828,15 @@ package body Prj.Tree is
------------------------------
function First_Expression_In_List
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Literal_String_List);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String_List);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end First_Expression_In_List;
--------------------------
@@ -794,14 +844,16 @@ package body Prj.Tree is
--------------------------
function First_Literal_String
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_String_Type_Declaration);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_String_Type_Declaration);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end First_Literal_String;
----------------------
@@ -809,14 +861,15 @@ package body Prj.Tree is
----------------------
function First_Package_Of
- (Node : Project_Node_Id) return Package_Declaration_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Package_Declaration_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- return Project_Nodes.Table (Node).Packages;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ return In_Tree.Project_Nodes.Table (Node).Packages;
end First_Package_Of;
--------------------------
@@ -824,14 +877,15 @@ package body Prj.Tree is
--------------------------
function First_String_Type_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- return Project_Nodes.Table (Node).Field3;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ return In_Tree.Project_Nodes.Table (Node).Field3;
end First_String_Type_Of;
----------------
@@ -839,14 +893,15 @@ package body Prj.Tree is
----------------
function First_Term
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Expression);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Expression);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end First_Term;
-----------------------
@@ -854,17 +909,18 @@ package body Prj.Tree is
-----------------------
function First_Variable_Of
- (Node : Project_Node_Id) return Variable_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Variable_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Project
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Project
or else
- Project_Nodes.Table (Node).Kind = N_Package_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration));
- return Project_Nodes.Table (Node).Variables;
+ return In_Tree.Project_Nodes.Table (Node).Variables;
end First_Variable_Of;
--------------------------
@@ -872,27 +928,30 @@ package body Prj.Tree is
--------------------------
function First_With_Clause_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end First_With_Clause_Of;
------------------------
-- Follows_Empty_Line --
------------------------
- function Follows_Empty_Line (Node : Project_Node_Id) return Boolean is
+ function Follows_Empty_Line
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Boolean is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Comment);
- return Project_Nodes.Table (Node).Flag1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Comment);
+ return In_Tree.Project_Nodes.Table (Node).Flag1;
end Follows_Empty_Line;
----------
@@ -908,10 +967,10 @@ package body Prj.Tree is
-- Initialize --
----------------
- procedure Initialize is
+ procedure Initialize (Tree : Project_Node_Tree_Ref) is
begin
- Project_Nodes.Set_Last (Empty_Node);
- Projects_Htable.Reset;
+ Project_Node_Table.Init (Tree.Project_Nodes);
+ Projects_Htable.Reset (Tree.Projects_HT);
end Initialize;
-------------------------------
@@ -919,29 +978,32 @@ package body Prj.Tree is
-------------------------------
function Is_Followed_By_Empty_Line
- (Node : Project_Node_Id) return Boolean
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Boolean
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Comment);
- return Project_Nodes.Table (Node).Flag2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Comment);
+ return In_Tree.Project_Nodes.Table (Node).Flag2;
end Is_Followed_By_Empty_Line;
----------------------
-- Is_Extending_All --
----------------------
- function Is_Extending_All (Node : Project_Node_Id) return Boolean is
+ function Is_Extending_All
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Boolean is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Project
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Project
or else
- Project_Nodes.Table (Node).Kind = N_With_Clause));
- return Project_Nodes.Table (Node).Flag2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause));
+ return In_Tree.Project_Nodes.Table (Node).Flag2;
end Is_Extending_All;
-------------------------------------
@@ -950,9 +1012,11 @@ package body Prj.Tree is
function Imported_Or_Extended_Project_Of
(Project : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
With_Name : Name_Id) return Project_Node_Id
is
- With_Clause : Project_Node_Id := First_With_Clause_Of (Project);
+ With_Clause : Project_Node_Id :=
+ First_With_Clause_Of (Project, In_Tree);
Result : Project_Node_Id := Empty_Node;
begin
@@ -963,18 +1027,21 @@ package body Prj.Tree is
-- Only non limited imported project may be used as prefix
-- of variable or attributes.
- Result := Non_Limited_Project_Node_Of (With_Clause);
- exit when Result /= Empty_Node and then Name_Of (Result) = With_Name;
- With_Clause := Next_With_Clause_Of (With_Clause);
+ Result := Non_Limited_Project_Node_Of (With_Clause, In_Tree);
+ exit when Result /= Empty_Node
+ 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 the imported project
if With_Clause = Empty_Node then
- Result := Extended_Project_Of (Project_Declaration_Of (Project));
+ Result :=
+ Extended_Project_Of
+ (Project_Declaration_Of (Project, In_Tree), In_Tree);
if Result /= Empty_Node
- and then Name_Of (Result) /= With_Name
+ and then Name_Of (Result, In_Tree) /= With_Name
then
Result := Empty_Node;
end if;
@@ -987,30 +1054,36 @@ package body Prj.Tree is
-- Kind_Of --
-------------
- function Kind_Of (Node : Project_Node_Id) return Project_Node_Kind is
+ function Kind_Of
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Kind is
begin
pragma Assert (Node /= Empty_Node);
- return Project_Nodes.Table (Node).Kind;
+ return In_Tree.Project_Nodes.Table (Node).Kind;
end Kind_Of;
-----------------
-- Location_Of --
-----------------
- function Location_Of (Node : Project_Node_Id) return Source_Ptr is
+ function Location_Of
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Source_Ptr is
begin
pragma Assert (Node /= Empty_Node);
- return Project_Nodes.Table (Node).Location;
+ return In_Tree.Project_Nodes.Table (Node).Location;
end Location_Of;
-------------
-- Name_Of --
-------------
- function Name_Of (Node : Project_Node_Id) return Name_Id is
+ function Name_Of
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Name_Id is
begin
pragma Assert (Node /= Empty_Node);
- return Project_Nodes.Table (Node).Name;
+ return In_Tree.Project_Nodes.Table (Node).Name;
end Name_Of;
--------------------
@@ -1018,27 +1091,30 @@ package body Prj.Tree is
--------------------
function Next_Case_Item
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Case_Item);
- return Project_Nodes.Table (Node).Field3;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Item);
+ return In_Tree.Project_Nodes.Table (Node).Field3;
end Next_Case_Item;
------------------
-- Next_Comment --
------------------
- function Next_Comment (Node : Project_Node_Id) return Project_Node_Id is
+ function Next_Comment
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Comment);
- return Project_Nodes.Table (Node).Comments;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Comment);
+ return In_Tree.Project_Nodes.Table (Node).Comments;
end Next_Comment;
---------------------------
@@ -1046,14 +1122,15 @@ package body Prj.Tree is
---------------------------
function Next_Declarative_Item
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Declarative_Item);
- return Project_Nodes.Table (Node).Field2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Declarative_Item);
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end Next_Declarative_Item;
-----------------------------
@@ -1061,14 +1138,15 @@ package body Prj.Tree is
-----------------------------
function Next_Expression_In_List
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Expression);
- return Project_Nodes.Table (Node).Field2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Expression);
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end Next_Expression_In_List;
-------------------------
@@ -1076,15 +1154,16 @@ package body Prj.Tree is
-------------------------
function Next_Literal_String
- (Node : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref)
return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Literal_String);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end Next_Literal_String;
-----------------------------
@@ -1092,14 +1171,15 @@ package body Prj.Tree is
-----------------------------
function Next_Package_In_Project
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Package_Declaration);
- return Project_Nodes.Table (Node).Field3;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration);
+ return In_Tree.Project_Nodes.Table (Node).Field3;
end Next_Package_In_Project;
----------------------
@@ -1107,15 +1187,17 @@ package body Prj.Tree is
----------------------
function Next_String_Type
- (Node : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref)
return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_String_Type_Declaration);
- return Project_Nodes.Table (Node).Field2;
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_String_Type_Declaration);
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end Next_String_Type;
---------------
@@ -1123,14 +1205,15 @@ package body Prj.Tree is
---------------
function Next_Term
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Term);
- return Project_Nodes.Table (Node).Field2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Term);
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end Next_Term;
-------------------
@@ -1138,18 +1221,21 @@ package body Prj.Tree is
-------------------
function Next_Variable
- (Node : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref)
return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Typed_Variable_Declaration
+ (In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Typed_Variable_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Variable_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Variable_Declaration));
- return Project_Nodes.Table (Node).Field3;
+ return In_Tree.Project_Nodes.Table (Node).Field3;
end Next_Variable;
-------------------------
@@ -1157,14 +1243,15 @@ package body Prj.Tree is
-------------------------
function Next_With_Clause_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_With_Clause);
- return Project_Nodes.Table (Node).Field2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause);
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end Next_With_Clause_Of;
---------------------------------
@@ -1172,27 +1259,31 @@ package body Prj.Tree is
---------------------------------
function Non_Limited_Project_Node_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_With_Clause));
- return Project_Nodes.Table (Node).Field3;
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause));
+ return In_Tree.Project_Nodes.Table (Node).Field3;
end Non_Limited_Project_Node_Of;
-------------------
-- Package_Id_Of --
-------------------
- function Package_Id_Of (Node : Project_Node_Id) return Package_Node_Id is
+ function Package_Id_Of
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Package_Node_Id
+ is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Package_Declaration);
- return Project_Nodes.Table (Node).Pkg_Id;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration);
+ return In_Tree.Project_Nodes.Table (Node).Pkg_Id;
end Package_Id_Of;
---------------------
@@ -1200,31 +1291,35 @@ package body Prj.Tree is
---------------------
function Package_Node_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Variable_Reference
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
- return Project_Nodes.Table (Node).Field2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end Package_Node_Of;
------------------
-- Path_Name_Of --
------------------
- function Path_Name_Of (Node : Project_Node_Id) return Name_Id is
+ function Path_Name_Of
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Name_Id
+ is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Project
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Project
or else
- Project_Nodes.Table (Node).Kind = N_With_Clause));
- return Project_Nodes.Table (Node).Path_Name;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause));
+ return In_Tree.Project_Nodes.Table (Node).Path_Name;
end Path_Name_Of;
----------------------------
@@ -1232,14 +1327,15 @@ package body Prj.Tree is
----------------------------
function Project_Declaration_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- return Project_Nodes.Table (Node).Field2;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end Project_Declaration_Of;
-------------------------------------------
@@ -1247,11 +1343,13 @@ package body Prj.Tree is
-------------------------------------------
function Project_File_Includes_Unkept_Comments
- (Node : Project_Node_Id) return Boolean
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Boolean
is
- Declaration : constant Project_Node_Id := Project_Declaration_Of (Node);
+ Declaration : constant Project_Node_Id :=
+ Project_Declaration_Of (Node, In_Tree);
begin
- return Project_Nodes.Table (Declaration).Flag1;
+ return In_Tree.Project_Nodes.Table (Declaration).Flag1;
end Project_File_Includes_Unkept_Comments;
---------------------
@@ -1259,18 +1357,19 @@ package body Prj.Tree is
---------------------
function Project_Node_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_With_Clause
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause
or else
- Project_Nodes.Table (Node).Kind = N_Variable_Reference
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end Project_Node_Of;
-----------------------------------
@@ -1278,14 +1377,15 @@ package body Prj.Tree is
-----------------------------------
function Project_Of_Renamed_Package_Of
- (Node : Project_Node_Id) return Project_Node_Id
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Package_Declaration);
- return Project_Nodes.Table (Node).Field1;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration);
+ return In_Tree.Project_Nodes.Table (Node).Field1;
end Project_Of_Renamed_Package_Of;
--------------------------
@@ -1354,8 +1454,9 @@ package body Prj.Tree is
-- Scan --
----------
- procedure Scan is
+ procedure Scan (In_Tree : Project_Node_Tree_Ref) is
Empty_Line : Boolean := False;
+
begin
-- If there are comments, then they will not be kept. Set the flag and
-- clear the comments.
@@ -1400,9 +1501,9 @@ package body Prj.Tree is
elsif End_Of_Line_Node /= Empty_Node then
declare
Zones : constant Project_Node_Id :=
- Comment_Zones_Of (End_Of_Line_Node);
+ Comment_Zones_Of (End_Of_Line_Node, In_Tree);
begin
- Project_Nodes.Table (Zones).Value := Comment_Id;
+ In_Tree.Project_Nodes.Table (Zones).Value := Comment_Id;
end;
-- Otherwise, this end of line node cannot be kept
@@ -1424,11 +1525,15 @@ package body Prj.Tree is
not Comments.Table (1).Follows_Empty_Line then
if Previous_Line_Node /= Empty_Node then
Add_Comments
- (To => Previous_Line_Node, Where => After);
+ (To => Previous_Line_Node,
+ Where => After,
+ In_Tree => In_Tree);
elsif Previous_End_Node /= Empty_Node then
Add_Comments
- (To => Previous_End_Node, Where => After_End);
+ (To => Previous_End_Node,
+ Where => After_End,
+ In_Tree => In_Tree);
end if;
end if;
@@ -1440,8 +1545,9 @@ package body Prj.Tree is
if Comments.Last > 0 and then Token = Tok_End then
if Next_End_Nodes.Last > 0 then
Add_Comments
- (To => Next_End_Nodes.Table (Next_End_Nodes.Last),
- Where => Before_End);
+ (To => Next_End_Nodes.Table (Next_End_Nodes.Last),
+ Where => Before_End,
+ In_Tree => In_Tree);
else
Unkept_Comments := True;
@@ -1469,17 +1575,18 @@ package body Prj.Tree is
------------------------------------
procedure Set_Associative_Array_Index_Of
- (Node : Project_Node_Id;
- To : Name_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Name_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
- Project_Nodes.Table (Node).Value := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
+ In_Tree.Project_Nodes.Table (Node).Value := To;
end Set_Associative_Array_Index_Of;
--------------------------------
@@ -1487,15 +1594,16 @@ package body Prj.Tree is
--------------------------------
procedure Set_Associative_Package_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Attribute_Declaration);
- Project_Nodes.Table (Node).Field3 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration);
+ In_Tree.Project_Nodes.Table (Node).Field3 := To;
end Set_Associative_Package_Of;
--------------------------------
@@ -1503,15 +1611,17 @@ package body Prj.Tree is
--------------------------------
procedure Set_Associative_Project_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Attribute_Declaration));
- Project_Nodes.Table (Node).Field2 := To;
+ (In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Attribute_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_Associative_Project_Of;
--------------------------
@@ -1519,17 +1629,18 @@ package body Prj.Tree is
--------------------------
procedure Set_Case_Insensitive
- (Node : Project_Node_Id;
- To : Boolean)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Boolean)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
- Project_Nodes.Table (Node).Flag1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
+ In_Tree.Project_Nodes.Table (Node).Flag1 := To;
end Set_Case_Insensitive;
------------------------------------
@@ -1537,15 +1648,16 @@ package body Prj.Tree is
------------------------------------
procedure Set_Case_Variable_Reference_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Case_Construction);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Construction);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_Case_Variable_Reference_Of;
---------------------------
@@ -1553,15 +1665,16 @@ package body Prj.Tree is
---------------------------
procedure Set_Current_Item_Node
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Declarative_Item);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Declarative_Item);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_Current_Item_Node;
----------------------
@@ -1569,15 +1682,16 @@ package body Prj.Tree is
----------------------
procedure Set_Current_Term
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Term);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Term);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_Current_Term;
----------------------
@@ -1585,15 +1699,16 @@ package body Prj.Tree is
----------------------
procedure Set_Directory_Of
- (Node : Project_Node_Id;
- To : Name_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Name_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- Project_Nodes.Table (Node).Directory := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ In_Tree.Project_Nodes.Table (Node).Directory := To;
end Set_Directory_Of;
---------------------
@@ -1610,31 +1725,34 @@ package body Prj.Tree is
----------------------------
procedure Set_Expression_Kind_Of
- (Node : Project_Node_Id;
- To : Variable_Kind)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Variable_Kind)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Literal_String
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Variable_Declaration
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Typed_Variable_Declaration
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Typed_Variable_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Package_Declaration
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Expression
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Expression
or else
- Project_Nodes.Table (Node).Kind = N_Term
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Term
or else
- Project_Nodes.Table (Node).Kind = N_Variable_Reference
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
- Project_Nodes.Table (Node).Expr_Kind := To;
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Attribute_Reference));
+ In_Tree.Project_Nodes.Table (Node).Expr_Kind := To;
end Set_Expression_Kind_Of;
-----------------------
@@ -1642,19 +1760,23 @@ package body Prj.Tree is
-----------------------
procedure Set_Expression_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Attribute_Declaration
+ (In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Attribute_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Typed_Variable_Declaration
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Typed_Variable_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Variable_Declaration));
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Variable_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_Expression_Of;
-------------------------------
@@ -1662,15 +1784,16 @@ package body Prj.Tree is
-------------------------------
procedure Set_External_Reference_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_External_Value);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_External_Value);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_External_Reference_Of;
-----------------------------
@@ -1678,15 +1801,16 @@ package body Prj.Tree is
-----------------------------
procedure Set_External_Default_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_External_Value);
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_External_Value);
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_External_Default_Of;
----------------------------
@@ -1694,15 +1818,16 @@ package body Prj.Tree is
----------------------------
procedure Set_First_Case_Item_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Case_Construction);
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Construction);
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_First_Case_Item_Of;
-------------------------
@@ -1710,15 +1835,16 @@ package body Prj.Tree is
-------------------------
procedure Set_First_Choice_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Case_Item);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Item);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_First_Choice_Of;
-----------------------------
@@ -1726,12 +1852,13 @@ package body Prj.Tree is
-----------------------------
procedure Set_First_Comment_After
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
- Zone : constant Project_Node_Id := Comment_Zones_Of (Node);
+ Zone : constant Project_Node_Id := Comment_Zones_Of (Node, In_Tree);
begin
- Project_Nodes.Table (Zone).Field2 := To;
+ In_Tree.Project_Nodes.Table (Zone).Field2 := To;
end Set_First_Comment_After;
---------------------------------
@@ -1739,12 +1866,13 @@ package body Prj.Tree is
---------------------------------
procedure Set_First_Comment_After_End
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
- Zone : constant Project_Node_Id := Comment_Zones_Of (Node);
+ Zone : constant Project_Node_Id := Comment_Zones_Of (Node, In_Tree);
begin
- Project_Nodes.Table (Zone).Comments := To;
+ In_Tree.Project_Nodes.Table (Zone).Comments := To;
end Set_First_Comment_After_End;
------------------------------
@@ -1752,13 +1880,14 @@ package body Prj.Tree is
------------------------------
procedure Set_First_Comment_Before
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
- Zone : constant Project_Node_Id := Comment_Zones_Of (Node);
+ Zone : constant Project_Node_Id := Comment_Zones_Of (Node, In_Tree);
begin
- Project_Nodes.Table (Zone).Field1 := To;
+ In_Tree.Project_Nodes.Table (Zone).Field1 := To;
end Set_First_Comment_Before;
----------------------------------
@@ -1766,12 +1895,13 @@ package body Prj.Tree is
----------------------------------
procedure Set_First_Comment_Before_End
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
- Zone : constant Project_Node_Id := Comment_Zones_Of (Node);
+ Zone : constant Project_Node_Id := Comment_Zones_Of (Node, In_Tree);
begin
- Project_Nodes.Table (Zone).Field2 := To;
+ In_Tree.Project_Nodes.Table (Zone).Field2 := To;
end Set_First_Comment_Before_End;
------------------------
@@ -1779,15 +1909,16 @@ package body Prj.Tree is
------------------------
procedure Set_Next_Case_Item
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Case_Item);
- Project_Nodes.Table (Node).Field3 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Item);
+ In_Tree.Project_Nodes.Table (Node).Field3 := To;
end Set_Next_Case_Item;
----------------------
@@ -1795,15 +1926,16 @@ package body Prj.Tree is
----------------------
procedure Set_Next_Comment
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Comment);
- Project_Nodes.Table (Node).Comments := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Comment);
+ In_Tree.Project_Nodes.Table (Node).Comments := To;
end Set_Next_Comment;
-----------------------------------
@@ -1811,23 +1943,24 @@ package body Prj.Tree is
-----------------------------------
procedure Set_First_Declarative_Item_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Project_Declaration
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Case_Item
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Case_Item
or else
- Project_Nodes.Table (Node).Kind = N_Package_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration));
- if Project_Nodes.Table (Node).Kind = N_Project_Declaration then
- Project_Nodes.Table (Node).Field1 := To;
+ if In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration then
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
else
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end if;
end Set_First_Declarative_Item_Of;
@@ -1836,15 +1969,16 @@ package body Prj.Tree is
----------------------------------
procedure Set_First_Expression_In_List
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Literal_String_List);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String_List);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_First_Expression_In_List;
------------------------------
@@ -1852,15 +1986,17 @@ package body Prj.Tree is
------------------------------
procedure Set_First_Literal_String
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_String_Type_Declaration);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_String_Type_Declaration);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_First_Literal_String;
--------------------------
@@ -1868,15 +2004,16 @@ package body Prj.Tree is
--------------------------
procedure Set_First_Package_Of
- (Node : Project_Node_Id;
- To : Package_Declaration_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Package_Declaration_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- Project_Nodes.Table (Node).Packages := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ In_Tree.Project_Nodes.Table (Node).Packages := To;
end Set_First_Package_Of;
------------------------------
@@ -1884,15 +2021,16 @@ package body Prj.Tree is
------------------------------
procedure Set_First_String_Type_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- Project_Nodes.Table (Node).Field3 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ In_Tree.Project_Nodes.Table (Node).Field3 := To;
end Set_First_String_Type_Of;
--------------------
@@ -1900,15 +2038,16 @@ package body Prj.Tree is
--------------------
procedure Set_First_Term
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Expression);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Expression);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_First_Term;
---------------------------
@@ -1916,17 +2055,18 @@ package body Prj.Tree is
---------------------------
procedure Set_First_Variable_Of
- (Node : Project_Node_Id;
- To : Variable_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Variable_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Project
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Project
or else
- Project_Nodes.Table (Node).Kind = N_Package_Declaration));
- Project_Nodes.Table (Node).Variables := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Variables := To;
end Set_First_Variable_Of;
------------------------------
@@ -1934,30 +2074,34 @@ package body Prj.Tree is
------------------------------
procedure Set_First_With_Clause_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_First_With_Clause_Of;
--------------------------
-- Set_Is_Extending_All --
--------------------------
- procedure Set_Is_Extending_All (Node : Project_Node_Id) is
+ procedure Set_Is_Extending_All
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref)
+ is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Project
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Project
or else
- Project_Nodes.Table (Node).Kind = N_With_Clause));
- Project_Nodes.Table (Node).Flag2 := True;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause));
+ In_Tree.Project_Nodes.Table (Node).Flag2 := True;
end Set_Is_Extending_All;
-----------------
@@ -1965,12 +2109,13 @@ package body Prj.Tree is
-----------------
procedure Set_Kind_Of
- (Node : Project_Node_Id;
- To : Project_Node_Kind)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Kind)
is
begin
pragma Assert (Node /= Empty_Node);
- Project_Nodes.Table (Node).Kind := To;
+ In_Tree.Project_Nodes.Table (Node).Kind := To;
end Set_Kind_Of;
---------------------
@@ -1978,12 +2123,13 @@ package body Prj.Tree is
---------------------
procedure Set_Location_Of
- (Node : Project_Node_Id;
- To : Source_Ptr)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Source_Ptr)
is
begin
pragma Assert (Node /= Empty_Node);
- Project_Nodes.Table (Node).Location := To;
+ In_Tree.Project_Nodes.Table (Node).Location := To;
end Set_Location_Of;
-----------------------------
@@ -1991,15 +2137,16 @@ package body Prj.Tree is
-----------------------------
procedure Set_Extended_Project_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project_Declaration);
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration);
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_Extended_Project_Of;
----------------------------------
@@ -2007,15 +2154,16 @@ package body Prj.Tree is
----------------------------------
procedure Set_Extended_Project_Path_Of
- (Node : Project_Node_Id;
- To : Name_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Name_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- Project_Nodes.Table (Node).Value := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ In_Tree.Project_Nodes.Table (Node).Value := To;
end Set_Extended_Project_Path_Of;
------------------------------
@@ -2023,15 +2171,16 @@ package body Prj.Tree is
------------------------------
procedure Set_Extending_Project_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project_Declaration);
- Project_Nodes.Table (Node).Field3 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project_Declaration);
+ In_Tree.Project_Nodes.Table (Node).Field3 := To;
end Set_Extending_Project_Of;
-----------------
@@ -2039,12 +2188,13 @@ package body Prj.Tree is
-----------------
procedure Set_Name_Of
- (Node : Project_Node_Id;
- To : Name_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Name_Id)
is
begin
pragma Assert (Node /= Empty_Node);
- Project_Nodes.Table (Node).Name := To;
+ In_Tree.Project_Nodes.Table (Node).Name := To;
end Set_Name_Of;
-------------------------------
@@ -2052,15 +2202,16 @@ package body Prj.Tree is
-------------------------------
procedure Set_Next_Declarative_Item
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Declarative_Item);
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Declarative_Item);
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_Next_Declarative_Item;
-----------------------
@@ -2078,15 +2229,16 @@ package body Prj.Tree is
---------------------------------
procedure Set_Next_Expression_In_List
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Expression);
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Expression);
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_Next_Expression_In_List;
-----------------------------
@@ -2094,15 +2246,16 @@ package body Prj.Tree is
-----------------------------
procedure Set_Next_Literal_String
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Literal_String);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_Next_Literal_String;
---------------------------------
@@ -2110,15 +2263,16 @@ package body Prj.Tree is
---------------------------------
procedure Set_Next_Package_In_Project
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Package_Declaration);
- Project_Nodes.Table (Node).Field3 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration);
+ In_Tree.Project_Nodes.Table (Node).Field3 := To;
end Set_Next_Package_In_Project;
--------------------------
@@ -2126,15 +2280,17 @@ package body Prj.Tree is
--------------------------
procedure Set_Next_String_Type
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_String_Type_Declaration);
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_String_Type_Declaration);
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_Next_String_Type;
-------------------
@@ -2142,15 +2298,16 @@ package body Prj.Tree is
-------------------
procedure Set_Next_Term
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Term);
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Term);
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_Next_Term;
-----------------------
@@ -2158,17 +2315,20 @@ package body Prj.Tree is
-----------------------
procedure Set_Next_Variable
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Typed_Variable_Declaration
+ (In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Typed_Variable_Declaration
or else
- Project_Nodes.Table (Node).Kind = N_Variable_Declaration));
- Project_Nodes.Table (Node).Field3 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Variable_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Field3 := To;
end Set_Next_Variable;
-----------------------------
@@ -2176,15 +2336,16 @@ package body Prj.Tree is
-----------------------------
procedure Set_Next_With_Clause_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_With_Clause);
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause);
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_Next_With_Clause_Of;
-----------------------
@@ -2192,15 +2353,16 @@ package body Prj.Tree is
-----------------------
procedure Set_Package_Id_Of
- (Node : Project_Node_Id;
- To : Package_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Package_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Package_Declaration);
- Project_Nodes.Table (Node).Pkg_Id := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration);
+ In_Tree.Project_Nodes.Table (Node).Pkg_Id := To;
end Set_Package_Id_Of;
-------------------------
@@ -2208,17 +2370,18 @@ package body Prj.Tree is
-------------------------
procedure Set_Package_Node_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Variable_Reference
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_Package_Node_Of;
----------------------
@@ -2226,17 +2389,18 @@ package body Prj.Tree is
----------------------
procedure Set_Path_Name_Of
- (Node : Project_Node_Id;
- To : Name_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Name_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Project
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Project
or else
- Project_Nodes.Table (Node).Kind = N_With_Clause));
- Project_Nodes.Table (Node).Path_Name := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause));
+ In_Tree.Project_Nodes.Table (Node).Path_Name := To;
end Set_Path_Name_Of;
---------------------------
@@ -2261,15 +2425,16 @@ package body Prj.Tree is
--------------------------------
procedure Set_Project_Declaration_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Project);
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Project);
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end Set_Project_Declaration_Of;
-----------------------------------------------
@@ -2277,12 +2442,14 @@ package body Prj.Tree is
-----------------------------------------------
procedure Set_Project_File_Includes_Unkept_Comments
- (Node : Project_Node_Id;
- To : Boolean)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Boolean)
is
- Declaration : constant Project_Node_Id := Project_Declaration_Of (Node);
+ Declaration : constant Project_Node_Id :=
+ Project_Declaration_Of (Node, In_Tree);
begin
- Project_Nodes.Table (Declaration).Flag1 := To;
+ In_Tree.Project_Nodes.Table (Declaration).Flag1 := To;
end Set_Project_File_Includes_Unkept_Comments;
-------------------------
@@ -2291,6 +2458,7 @@ package body Prj.Tree is
procedure Set_Project_Node_Of
(Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
To : Project_Node_Id;
Limited_With : Boolean := False)
is
@@ -2298,17 +2466,17 @@ package body Prj.Tree is
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_With_Clause
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause
or else
- Project_Nodes.Table (Node).Kind = N_Variable_Reference
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Attribute_Reference));
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
- if Project_Nodes.Table (Node).Kind = N_With_Clause
+ if In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause
and then not Limited_With
then
- Project_Nodes.Table (Node).Field3 := To;
+ In_Tree.Project_Nodes.Table (Node).Field3 := To;
end if;
end Set_Project_Node_Of;
@@ -2317,15 +2485,16 @@ package body Prj.Tree is
---------------------------------------
procedure Set_Project_Of_Renamed_Package_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- Project_Nodes.Table (Node).Kind = N_Package_Declaration);
- Project_Nodes.Table (Node).Field1 := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Package_Declaration);
+ In_Tree.Project_Nodes.Table (Node).Field1 := To;
end Set_Project_Of_Renamed_Package_Of;
-------------------------
@@ -2333,17 +2502,19 @@ package body Prj.Tree is
-------------------------
procedure Set_Source_Index_Of
- (Node : Project_Node_Id;
- To : Int)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Int)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Literal_String
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Declaration));
- Project_Nodes.Table (Node).Src_Index := To;
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Attribute_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Src_Index := To;
end Set_Source_Index_Of;
------------------------
@@ -2351,23 +2522,26 @@ package body Prj.Tree is
------------------------
procedure Set_String_Type_Of
- (Node : Project_Node_Id;
- To : Project_Node_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Project_Node_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Variable_Reference
+ (In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Variable_Reference
or else
- Project_Nodes.Table (Node).Kind = N_Typed_Variable_Declaration)
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Typed_Variable_Declaration)
and then
- Project_Nodes.Table (To).Kind = N_String_Type_Declaration);
+ In_Tree.Project_Nodes.Table (To).Kind = N_String_Type_Declaration);
- if Project_Nodes.Table (Node).Kind = N_Variable_Reference then
- Project_Nodes.Table (Node).Field3 := To;
+ if In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference then
+ In_Tree.Project_Nodes.Table (Node).Field3 := To;
else
- Project_Nodes.Table (Node).Field2 := To;
+ In_Tree.Project_Nodes.Table (Node).Field2 := To;
end if;
end Set_String_Type_Of;
@@ -2376,53 +2550,63 @@ package body Prj.Tree is
-------------------------
procedure Set_String_Value_Of
- (Node : Project_Node_Id;
- To : Name_Id)
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
+ To : Name_Id)
is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_With_Clause
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause
or else
- Project_Nodes.Table (Node).Kind = N_Comment
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Comment
or else
- Project_Nodes.Table (Node).Kind = N_Literal_String));
- Project_Nodes.Table (Node).Value := To;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String));
+ In_Tree.Project_Nodes.Table (Node).Value := To;
end Set_String_Value_Of;
---------------------
-- Source_Index_Of --
---------------------
- function Source_Index_Of (Node : Project_Node_Id) return Int is
+ function Source_Index_Of
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Int
+ is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Literal_String
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String
or else
- Project_Nodes.Table (Node).Kind = N_Attribute_Declaration));
- return Project_Nodes.Table (Node).Src_Index;
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Attribute_Declaration));
+ return In_Tree.Project_Nodes.Table (Node).Src_Index;
end Source_Index_Of;
--------------------
-- String_Type_Of --
--------------------
- function String_Type_Of (Node : Project_Node_Id) return Project_Node_Id is
+ function String_Type_Of
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Project_Node_Id
+ is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_Variable_Reference
+ (In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Variable_Reference
or else
- Project_Nodes.Table (Node).Kind = N_Typed_Variable_Declaration));
+ In_Tree.Project_Nodes.Table (Node).Kind =
+ N_Typed_Variable_Declaration));
- if Project_Nodes.Table (Node).Kind = N_Variable_Reference then
- return Project_Nodes.Table (Node).Field3;
+ if In_Tree.Project_Nodes.Table (Node).Kind = N_Variable_Reference then
+ return In_Tree.Project_Nodes.Table (Node).Field3;
else
- return Project_Nodes.Table (Node).Field2;
+ return In_Tree.Project_Nodes.Table (Node).Field2;
end if;
end String_Type_Of;
@@ -2430,17 +2614,20 @@ package body Prj.Tree is
-- String_Value_Of --
---------------------
- function String_Value_Of (Node : Project_Node_Id) return Name_Id is
+ function String_Value_Of
+ (Node : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref) return Name_Id
+ is
begin
pragma Assert
(Node /= Empty_Node
and then
- (Project_Nodes.Table (Node).Kind = N_With_Clause
+ (In_Tree.Project_Nodes.Table (Node).Kind = N_With_Clause
or else
- Project_Nodes.Table (Node).Kind = N_Comment
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Comment
or else
- Project_Nodes.Table (Node).Kind = N_Literal_String));
- return Project_Nodes.Table (Node).Value;
+ In_Tree.Project_Nodes.Table (Node).Kind = N_Literal_String));
+ return In_Tree.Project_Nodes.Table (Node).Value;
end String_Value_Of;
--------------------
@@ -2449,27 +2636,29 @@ package body Prj.Tree is
function Value_Is_Valid
(For_Typed_Variable : Project_Node_Id;
+ In_Tree : Project_Node_Tree_Ref;
Value : Name_Id) return Boolean
is
begin
pragma Assert
(For_Typed_Variable /= Empty_Node
and then
- (Project_Nodes.Table (For_Typed_Variable).Kind =
+ (In_Tree.Project_Nodes.Table (For_Typed_Variable).Kind =
N_Typed_Variable_Declaration));
declare
Current_String : Project_Node_Id :=
First_Literal_String
- (String_Type_Of (For_Typed_Variable));
+ (String_Type_Of (For_Typed_Variable, In_Tree),
+ In_Tree);
begin
while Current_String /= Empty_Node
and then
- String_Value_Of (Current_String) /= Value
+ String_Value_Of (Current_String, In_Tree) /= Value
loop
Current_String :=
- Next_Literal_String (Current_String);
+ Next_Literal_String (Current_String, In_Tree);
end loop;
return Current_String /= Empty_Node;