--
-- Copyright (C) 2019-2023, AdaCore
--
-- SPDX-License-Identifier: Apache-2.0 WITH LLVM-Exception
--
-- Handle project's packages which are a set of attributes and variables
with Ada.Containers.Ordered_Maps;
with GPR2.Project.Attribute.Set;
with GPR2.Project.Variable.Set;
with GPR2.Source_Reference.Pack;
private package GPR2.Project.Pack is
type Object is new Source_Reference.Pack.Object with record
Attrs : Project.Attribute.Set.Object;
Vars : Project.Variable.Set.Object;
end record;
Undefined : constant Object;
-- This constant is equal to any object declared without an explicit
-- initializer.
overriding function Is_Defined (Self : Object) return Boolean;
-- Returns true if Self is defined
package Set is
new Ada.Containers.Ordered_Maps (Package_Id, Object, "<");
private
Undefined : constant Object :=
(Source_Reference.Pack.Undefined with others => <>);
overriding function Is_Defined (Self : Object) return Boolean is
(Self /= Undefined);
end GPR2.Project.Pack;