1with Unchecked_Conversion; 2 3package Debug10_Pkg is 4 5 type Node_Id is range 0 .. 99_999_999; 6 7 Empty : constant Node_Id := 0; 8 9 subtype Entity_Id is Node_Id; 10 11 type Union_Id is new Integer; 12 13 function My_Is_Entity_Name (N : Node_Id) return Boolean; 14 15 function My_Scalar_Range (Id : Entity_Id) return Node_Id; 16 17 function My_Test (N : Node_Id) return Boolean; 18 19 type Node_Kind is (N_Unused_At_Start, N_Unused_At_End); 20 21 type Entity_Kind is ( 22 23 E_Void, 24 E_Component, 25 E_Constant, 26 E_Discriminant, 27 E_Loop_Parameter, 28 E_Variable, 29 E_Out_Parameter, 30 E_In_Out_Parameter, 31 E_In_Parameter, 32 E_Generic_In_Out_Parameter, 33 E_Generic_In_Parameter, 34 E_Named_Integer, 35 E_Named_Real, 36 E_Enumeration_Type, 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, 48 E_Access_Type, 49 E_Access_Subtype, 50 E_Access_Attribute_Type, 51 E_Allocator_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, 58 E_Array_Type, 59 E_Array_Subtype, 60 E_String_Literal_Subtype, 61 E_Class_Wide_Type, 62 E_Class_Wide_Subtype, 63 E_Record_Type, 64 E_Record_Subtype, 65 E_Record_Type_With_Private, 66 E_Record_Subtype_With_Private, 67 E_Private_Type, 68 E_Private_Subtype, 69 E_Limited_Private_Type, 70 E_Limited_Private_Subtype, 71 E_Incomplete_Type, 72 E_Incomplete_Subtype, 73 E_Task_Type, 74 E_Task_Subtype, 75 E_Protected_Type, 76 E_Protected_Subtype, 77 E_Exception_Type, 78 E_Subprogram_Type, 79 E_Enumeration_Literal, 80 E_Function, 81 E_Operator, 82 E_Procedure, 83 E_Abstract_State, 84 E_Entry, 85 E_Entry_Family, 86 E_Block, 87 E_Entry_Index_Parameter, 88 E_Exception, 89 E_Generic_Function, 90 E_Generic_Procedure, 91 E_Generic_Package, 92 E_Label, 93 E_Loop, 94 E_Return_Statement, 95 E_Package, 96 E_Package_Body, 97 E_Protected_Object, 98 E_Protected_Body, 99 E_Task_Body, 100 E_Subprogram_Body 101 ); 102 103 subtype Access_Kind is Entity_Kind range 104 E_Access_Type .. 105 E_Anonymous_Access_Type; 106 107 subtype Array_Kind is Entity_Kind range 108 E_Array_Type .. 109 E_String_Literal_Subtype; 110 111 subtype Object_Kind is Entity_Kind range 112 E_Component .. 113 E_Generic_In_Parameter; 114 115 subtype Record_Kind is Entity_Kind range 116 E_Class_Wide_Type .. 117 E_Record_Subtype_With_Private; 118 119 subtype Scalar_Kind is Entity_Kind range 120 E_Enumeration_Type .. 121 E_Floating_Point_Subtype; 122 123 subtype Type_Kind is Entity_Kind range 124 E_Enumeration_Type .. 125 E_Subprogram_Type; 126 127 type Node_Record (Is_Extension : Boolean := False) is record 128 Flag16 : Boolean; 129 Nkind : Node_Kind; 130 end record; 131 132 function N_To_E is new Unchecked_Conversion (Node_Kind, Entity_Kind); 133 134 type Arr is array (Node_Id) of Node_Record; 135 136 Nodes : Arr; 137 138end Debug10_Pkg; 139