1------------------------------------------------------------------------------ 2-- -- 3-- GNAT COMPILER COMPONENTS -- 4-- -- 5-- B I N D O . B U I L D E R S -- 6-- -- 7-- S p e c -- 8-- -- 9-- Copyright (C) 2019-2021, Free Software Foundation, Inc. -- 10-- -- 11-- GNAT is free software; you can redistribute it and/or modify it under -- 12-- terms of the GNU General Public License as published by the Free Soft- -- 13-- ware Foundation; either version 3, or (at your option) any later ver- -- 14-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 15-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- 16-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- 17-- for more details. You should have received a copy of the GNU General -- 18-- Public License distributed with GNAT; see file COPYING3. If not, go to -- 19-- http://www.gnu.org/licenses for a complete copy of the license. -- 20-- -- 21-- GNAT was originally developed by the GNAT team at New York University. -- 22-- Extensive contributions were provided by Ada Core Technologies Inc. -- 23-- -- 24------------------------------------------------------------------------------ 25 26-- For full architecture, see unit Bindo. 27 28-- The following unit contains facilities to create various graphs that 29-- reflect dependencies between units, as well as activations of tasks, 30-- calls, and instantiations within them. 31 32with Bindo.Graphs; 33use Bindo.Graphs; 34use Bindo.Graphs.Invocation_Graphs; 35use Bindo.Graphs.Library_Graphs; 36 37package Bindo.Builders is 38 39 ------------------------------- 40 -- Invocation_Graph_Builders -- 41 ------------------------------- 42 43 package Invocation_Graph_Builders is 44 function Build_Invocation_Graph 45 (Lib_G : Library_Graph) return Invocation_Graph; 46 -- Return a new invocation graph that reflects the activations of 47 -- tasks, calls, and instantiations in all units of the bind. Each 48 -- invocation graph vertex is linked with the corresponding vertex 49 -- of library graph Lib_G, which contains the body of the activated 50 -- task, invoked subprogram, or instantiated generic. 51 52 end Invocation_Graph_Builders; 53 54 ---------------------------- 55 -- Library_Graph_Builders -- 56 ---------------------------- 57 58 package Library_Graph_Builders is 59 function Build_Library_Graph return Library_Graph; 60 -- Return a new library graph that reflects the dependencies between 61 -- all units of the bind. 62 63 end Library_Graph_Builders; 64 65end Bindo.Builders; 66