1 with Unchecked_Conversion
;
5 type Node_Id
is range 0 .. 99_999_999
;
7 Empty
: constant Node_Id
:= 0;
9 subtype Entity_Id
is Node_Id
;
11 type Union_Id
is new Integer;
13 function My_Is_Entity_Name
(N
: Node_Id
) return Boolean;
15 function My_Scalar_Range
(Id
: Entity_Id
) return Node_Id
;
17 function My_Test
(N
: Node_Id
) return Boolean;
19 type Node_Kind
is (N_Unused_At_Start
, N_Unused_At_End
);
32 E_Generic_In_Out_Parameter
,
33 E_Generic_In_Parameter
,
37 E_Enumeration_Subtype
,
38 E_Signed_Integer_Type
,
39 E_Signed_Integer_Subtype
,
40 E_Modular_Integer_Type
,
41 E_Modular_Integer_Subtype
,
42 E_Ordinary_Fixed_Point_Type
,
43 E_Ordinary_Fixed_Point_Subtype
,
44 E_Decimal_Fixed_Point_Type
,
45 E_Decimal_Fixed_Point_Subtype
,
46 E_Floating_Point_Type
,
47 E_Floating_Point_Subtype
,
50 E_Access_Attribute_Type
,
52 E_General_Access_Type
,
53 E_Access_Subprogram_Type
,
54 E_Anonymous_Access_Subprogram_Type
,
55 E_Access_Protected_Subprogram_Type
,
56 E_Anonymous_Access_Protected_Subprogram_Type
,
57 E_Anonymous_Access_Type
,
60 E_String_Literal_Subtype
,
65 E_Record_Type_With_Private
,
66 E_Record_Subtype_With_Private
,
69 E_Limited_Private_Type
,
70 E_Limited_Private_Subtype
,
79 E_Enumeration_Literal
,
87 E_Entry_Index_Parameter
,
103 subtype Access_Kind
is Entity_Kind
range
105 E_Anonymous_Access_Type
;
107 subtype Array_Kind
is Entity_Kind
range
109 E_String_Literal_Subtype
;
111 subtype Object_Kind
is Entity_Kind
range
113 E_Generic_In_Parameter
;
115 subtype Record_Kind
is Entity_Kind
range
117 E_Record_Subtype_With_Private
;
119 subtype Scalar_Kind
is Entity_Kind
range
120 E_Enumeration_Type
..
121 E_Floating_Point_Subtype
;
123 subtype Type_Kind
is Entity_Kind
range
124 E_Enumeration_Type
..
127 type Node_Record
(Is_Extension
: Boolean := False) is record
132 function N_To_E
is new Unchecked_Conversion
(Node_Kind
, Entity_Kind
);
134 type Arr
is array (Node_Id
) of Node_Record
;