Commit d42ec90c by Vincent Celier Committed by Arnaud Charlet

prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data

2008-08-20  Vincent Celier  <celier@adacore.com>

	* prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data

	* prj.ads (Array_Data): Add a component Location

From-SVN: r139300
parent c0193e6f
...@@ -1417,6 +1417,11 @@ package body Prj.Proc is ...@@ -1417,6 +1417,11 @@ package body Prj.Proc is
From_Project_Node_Tree); From_Project_Node_Tree);
-- The name of the attribute -- The name of the attribute
Current_Location : constant Source_Ptr :=
Location_Of
(Current_Item,
From_Project_Node_Tree);
New_Array : Array_Id; New_Array : Array_Id;
-- The new associative array created -- The new associative array created
...@@ -1483,9 +1488,10 @@ package body Prj.Proc is ...@@ -1483,9 +1488,10 @@ package body Prj.Proc is
if Pkg /= No_Package then if Pkg /= No_Package then
In_Tree.Arrays.Table (New_Array) := In_Tree.Arrays.Table (New_Array) :=
(Name => Current_Item_Name, (Name => Current_Item_Name,
Value => No_Array_Element, Location => Current_Location,
Next => Value => No_Array_Element,
Next =>
In_Tree.Packages.Table (Pkg).Decl.Arrays); In_Tree.Packages.Table (Pkg).Decl.Arrays);
In_Tree.Packages.Table (Pkg).Decl.Arrays := In_Tree.Packages.Table (Pkg).Decl.Arrays :=
...@@ -1493,9 +1499,10 @@ package body Prj.Proc is ...@@ -1493,9 +1499,10 @@ package body Prj.Proc is
else else
In_Tree.Arrays.Table (New_Array) := In_Tree.Arrays.Table (New_Array) :=
(Name => Current_Item_Name, (Name => Current_Item_Name,
Value => No_Array_Element, Location => Current_Location,
Next => Value => No_Array_Element,
Next =>
In_Tree.Projects.Table (Project).Decl.Arrays); In_Tree.Projects.Table (Project).Decl.Arrays);
In_Tree.Projects.Table (Project).Decl.Arrays := In_Tree.Projects.Table (Project).Decl.Arrays :=
...@@ -1706,6 +1713,11 @@ package body Prj.Proc is ...@@ -1706,6 +1713,11 @@ package body Prj.Proc is
(Current_Item, (Current_Item,
From_Project_Node_Tree); From_Project_Node_Tree);
Current_Location : constant Source_Ptr :=
Location_Of
(Current_Item,
From_Project_Node_Tree);
begin begin
-- Process a typed variable declaration -- Process a typed variable declaration
...@@ -1970,9 +1982,10 @@ package body Prj.Proc is ...@@ -1970,9 +1982,10 @@ package body Prj.Proc is
if Pkg /= No_Package then if Pkg /= No_Package then
In_Tree.Arrays.Table (The_Array) := In_Tree.Arrays.Table (The_Array) :=
(Name => Current_Item_Name, (Name => Current_Item_Name,
Value => No_Array_Element, Location => Current_Location,
Next => Value => No_Array_Element,
Next =>
In_Tree.Packages.Table In_Tree.Packages.Table
(Pkg).Decl.Arrays); (Pkg).Decl.Arrays);
...@@ -1981,9 +1994,10 @@ package body Prj.Proc is ...@@ -1981,9 +1994,10 @@ package body Prj.Proc is
else else
In_Tree.Arrays.Table (The_Array) := In_Tree.Arrays.Table (The_Array) :=
(Name => Current_Item_Name, (Name => Current_Item_Name,
Value => No_Array_Element, Location => Current_Location,
Next => Value => No_Array_Element,
Next =>
In_Tree.Projects.Table In_Tree.Projects.Table
(Project).Decl.Arrays); (Project).Decl.Arrays);
......
...@@ -253,9 +253,10 @@ package Prj is ...@@ -253,9 +253,10 @@ package Prj is
type Array_Id is new Nat; type Array_Id is new Nat;
No_Array : constant Array_Id := 0; No_Array : constant Array_Id := 0;
type Array_Data is record type Array_Data is record
Name : Name_Id := No_Name; Name : Name_Id := No_Name;
Value : Array_Element_Id := No_Array_Element; Location : Source_Ptr := No_Location;
Next : Array_Id := No_Array; Value : Array_Element_Id := No_Array_Element;
Next : Array_Id := No_Array;
end record; end record;
-- Each Array_Data value represents an array. -- Each Array_Data value represents an array.
-- Value is the id of the first element. -- Value is the id of the first element.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment