-- Associative array attribute
else
- -- Get the string index
-
- Get_Name_String
- (Associative_Array_Index_Of
- (Current_Item, From_Project_Node_Tree));
-
- -- Put in lower case, if necessary
-
declare
- Lower : Boolean;
+ Index_Name : Name_Id :=
+ Associative_Array_Index_Of
+ (Current_Item, From_Project_Node_Tree);
+ Lower : Boolean;
+ The_Array : Array_Id;
+
+ The_Array_Element : Array_Element_Id :=
+ No_Array_Element;
begin
- Lower :=
- Case_Insensitive
- (Current_Item, From_Project_Node_Tree);
+ if Index_Name /= All_Other_Names then
+ -- Get the string index
- -- In multi-language mode (gprbuild), the index is
- -- always case insensitive if it does not include
- -- any dot.
+ Get_Name_String
+ (Associative_Array_Index_Of
+ (Current_Item, From_Project_Node_Tree));
- if Get_Mode = Multi_Language and then not Lower then
- for J in 1 .. Name_Len loop
- if Name_Buffer (J) = '.' then
- Lower := False;
- exit;
- end if;
- end loop;
- end if;
+ -- Put in lower case, if necessary
- if Lower then
- GNAT.Case_Util.To_Lower
- (Name_Buffer (1 .. Name_Len));
- end if;
- end;
+ Lower :=
+ Case_Insensitive
+ (Current_Item, From_Project_Node_Tree);
- declare
- The_Array : Array_Id;
+ -- In multi-language mode (gprbuild), the index
+ -- is always case insensitive if it does not
+ -- include any dot.
- The_Array_Element : Array_Element_Id :=
- No_Array_Element;
+ if Get_Mode = Multi_Language
+ and then not Lower
+ then
+ for J in 1 .. Name_Len loop
+ if Name_Buffer (J) = '.' then
+ Lower := False;
+ exit;
+ end if;
+ end loop;
+ end if;
- Index_Name : constant Name_Id := Name_Find;
- -- The name id of the index
+ if Lower then
+ GNAT.Case_Util.To_Lower
+ (Name_Buffer (1 .. Name_Len));
+ end if;
+
+ Index_Name := Name_Find;
+ end if;
- begin
-- Look for the array in the appropriate list
if Pkg /= No_Package then