blob: 15ca374c6b4134a85095ef3283805bb7964bd0d4 [file] [log] [blame]
------------------------------------------------------------------------------
-- --
-- GNAT COMPILER COMPONENTS --
-- --
-- S P A R K _ X R E F S --
-- --
-- B o d y --
-- --
-- Copyright (C) 2011-2022, 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- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
-- for more details. You should have received a copy of the GNU General --
-- Public License distributed with GNAT; see file COPYING3. If not, go to --
-- http://www.gnu.org/licenses for a complete copy of the license. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
with Lib.Xref;
with Output; use Output;
with Sem_Util; use Sem_Util;
package body SPARK_Xrefs is
------------
-- dspark --
------------
procedure dspark is
procedure Dump (Index : Nat; AXR : SPARK_Xref_Record);
procedure Dump_SPARK_Xrefs is new
Lib.Xref.SPARK_Specific.Iterate_SPARK_Xrefs (Dump);
----------
-- Dump --
----------
procedure Dump (Index : Nat; AXR : SPARK_Xref_Record) is
begin
Write_Str (" ");
Write_Int (Index);
Write_Char ('.');
Write_Str (" Entity = " & Unique_Name (AXR.Entity));
Write_Str (" (");
Write_Int (Nat (AXR.Entity));
Write_Str (")");
Write_Str (" Scope = " & Unique_Name (AXR.Ref_Scope));
Write_Str (" (");
Write_Int (Nat (AXR.Ref_Scope));
Write_Str (")");
Write_Str (" Ref_Type = '" & AXR.Rtype & "'");
Write_Eol;
end Dump;
-- Start of processing for dspark
begin
-- Dump SPARK cross-reference table
Write_Eol;
Write_Line ("SPARK Xref Table");
Write_Line ("----------------");
Dump_SPARK_Xrefs;
end dspark;
end SPARK_Xrefs;