source: trunk/ada-2012/src/semantic/gela-type_categories.ads@ 552

Last change on this file since 552 was 423, checked in by Maxim Reznik, 7 years ago

Remove Type_Category from type API

File size: 1.2 KB
Line 
1with Gela.Types;
2
3package Gela.Type_Categories is
4 pragma Preelaborate;
5
6 type Category_Kinds is
7 (A_Character,
8 A_Boolean,
9 An_Other_Enum,
10 An_Universal_Integer,
11 A_Signed_Integer,
12 A_Modular_Integer,
13 An_Universal_Real,
14 A_Float_Point,
15 An_Universal_Fixed,
16 A_Ordinary_Fixed_Point,
17 A_Decimal_Fixed_Point,
18 A_Constant_Access,
19 A_Variable_Access,
20 A_Pool_Access,
21 A_Procedure_Access,
22 A_Function_Access,
23 An_Universal_Access,
24 A_String,
25 An_Other_Array,
26 A_Untagged_Record,
27 A_Tagged,
28 A_Task,
29 A_Protected,
30 A_Private,
31 An_Incomplete);
32
33-- type Category_Kind_Set is array (Category_Kinds) of Boolean with Pack;
34
35 subtype Any_Integer_Type is Category_Kinds
36 range An_Universal_Integer .. A_Modular_Integer;
37
38 subtype Any_Real_Type is Category_Kinds
39 range An_Universal_Real .. A_Decimal_Fixed_Point;
40
41 type Type_View is interface and Gela.Types.Type_View;
42
43 type Type_View_Access is access all Type_View'Class;
44 for Type_View_Access'Storage_Size use 0;
45
46 not overriding function Category
47 (Self : Type_View) return Category_Kinds is abstract;
48
49end Gela.Type_Categories;
Note: See TracBrowser for help on using the repository browser.