+2017-11-08 Piotr Trojanek <trojanek@adacore.com>
+
+ * spark_xrefs.ads (SPARK_File_Record): Remove string components.
+ * spark_xrefs.adb (dspark): Remove pretty-printing of removed
+ SPARK_File_Record components.
+ * lib-xref-spark_specific.adb (Add_SPARK_File): Do not store string
+ representation of files/units.
+
2017-11-08 Piotr Trojanek <trojanek@adacore.com>
* lib-xref.ads, lib-xref-spark_specific.adb (Traverse_Declarations):
procedure Traverse_Scopes is new
Traverse_Compilation_Unit (Detect_And_Add_SPARK_Scope);
- -- Local variables
-
- File_Name : String_Ptr;
- Unit_File_Name : String_Ptr;
-
-- Start of processing for Add_SPARK_File
begin
Traverse_Scopes (CU => Cunit (Ubody));
end if;
- -- Make entry for new file in file table
-
- Get_Name_String (Reference_Name (File));
- File_Name := new String'(Name_Buffer (1 .. Name_Len));
-
- -- For subunits, also retrieve the file name of the unit. Only do so if
- -- unit has an associated compilation unit.
-
- if Present (Cunit (Unit (File)))
- and then Nkind (Unit (Cunit (Unit (File)))) = N_Subunit
- then
- Get_Name_String (Reference_Name (Main_Source_File));
- Unit_File_Name := new String'(Name_Buffer (1 .. Name_Len));
- else
- Unit_File_Name := null;
- end if;
-
SPARK_File_Table.Append (
- (File_Name => File_Name,
- Unit_File_Name => Unit_File_Name,
- File_Num => Dspec,
- From_Scope => From,
- To_Scope => SPARK_Scope_Table.Last));
+ (File_Num => Dspec,
+ From_Scope => From,
+ To_Scope => SPARK_Scope_Table.Last));
end Add_SPARK_File;
---------------------
Write_Int (Int (Index));
Write_Str (". File_Num = ");
Write_Int (Int (AFR.File_Num));
- Write_Str (" File_Name = """);
-
- if AFR.File_Name /= null then
- Write_Str (AFR.File_Name.all);
- end if;
-
- Write_Char ('"');
Write_Str (" From = ");
Write_Int (Int (AFR.From_Scope));
Write_Str (" To = ");
-- entries have been constructed.
type SPARK_File_Record is record
- File_Name : String_Ptr;
- -- Pointer to file name in ALI file
-
- Unit_File_Name : String_Ptr;
- -- Pointer to file name for unit in ALI file, when File_Name refers to a
- -- subunit; otherwise null.
-
File_Num : Nat;
-- Dependency number in ALI file