-- -- Copyright (C) 2014-2022, AdaCore -- SPDX-License-Identifier: Apache-2.0 -- -- This package provides implementation helpers to deal with GNAT's -- configurations pragmas files. with Ada.Containers; use Ada.Containers; with Ada.Containers.Hashed_Maps; limited with Libadalang.Implementation; private package Libadalang.Config_Pragmas_Impl is type Internal_Unit is access all Implementation.Analysis_Unit_Type; function Hash (Unit : Internal_Unit) return Hash_Type; package Unit_Maps is new Ada.Containers.Hashed_Maps (Key_Type => Internal_Unit, Element_Type => Internal_Unit, Hash => Hash, Equivalent_Keys => "="); -- Map analysis unit to the local configuration pragmas file that applies -- to it. type Internal_Config_Pragmas_Mapping is record Local_Pragmas : Unit_Maps.Map; -- Mappings that associate a local configuration pragmas file (element) -- to each analysis unit (key) for which it applies. Global_Pragmas : Internal_Unit; -- Configuration pragmas file that applies to all analysis units end record; end Libadalang.Config_Pragmas_Impl;