1 2---- 3with Predicate2.Containers; 4with Predicate2.Project.Registry.Attribute; 5with Predicate2.Source_Reference; 6 7private with Ada.Strings.Unbounded; 8 9package Predicate2.Project.Name_Values is 10 11 use type Containers.Count_Type; 12 use all type Registry.Attribute.Value_Kind; 13 14 type Object is new Source_Reference.Object with private; 15 16 Undefined : constant Object; 17 18 subtype Value_Kind is Registry.Attribute.Value_Kind; 19 20 function Kind (Self : Object'Class) return Registry.Attribute.Value_Kind 21 with Pre => Object (Self) /= Undefined; 22 -- Returns the Kind for the Name/Values pair object 23 24private 25 26 use Ada.Strings.Unbounded; 27 28 type Object is new Source_Reference.Object with record 29 Kind : Registry.Attribute.Value_Kind := List; 30 Name : Unbounded_String; 31 Values : Containers.Value_List; 32 end record; 33 34 Undefined : constant Object := 35 Object'(Source_Reference.Object with others => <>); 36 37end Predicate2.Project.Name_Values; 38