---- with Predicate2.Containers; with Predicate2.Project.Registry.Attribute; with Predicate2.Source_Reference; private with Ada.Strings.Unbounded; package Predicate2.Project.Name_Values is use type Containers.Count_Type; use all type Registry.Attribute.Value_Kind; type Object is new Source_Reference.Object with private; Undefined : constant Object; subtype Value_Kind is Registry.Attribute.Value_Kind; function Kind (Self : Object'Class) return Registry.Attribute.Value_Kind with Pre => Object (Self) /= Undefined; -- Returns the Kind for the Name/Values pair object private use Ada.Strings.Unbounded; type Object is new Source_Reference.Object with record Kind : Registry.Attribute.Value_Kind := List; Name : Unbounded_String; Values : Containers.Value_List; end record; Undefined : constant Object := Object'(Source_Reference.Object with others => <>); end Predicate2.Project.Name_Values;