| with Unchecked_Conversion; |
| |
| package Debug10_Pkg is |
| |
| type Node_Id is range 0 .. 99_999_999; |
| |
| Empty : constant Node_Id := 0; |
| |
| subtype Entity_Id is Node_Id; |
| |
| type Union_Id is new Integer; |
| |
| function My_Is_Entity_Name (N : Node_Id) return Boolean; |
| |
| function My_Scalar_Range (Id : Entity_Id) return Node_Id; |
| |
| function My_Test (N : Node_Id) return Boolean; |
| |
| type Node_Kind is (N_Unused_At_Start, N_Unused_At_End); |
| |
| type Entity_Kind is ( |
| |
| E_Void, |
| E_Component, |
| E_Constant, |
| E_Discriminant, |
| E_Loop_Parameter, |
| E_Variable, |
| E_Out_Parameter, |
| E_In_Out_Parameter, |
| E_In_Parameter, |
| E_Generic_In_Out_Parameter, |
| E_Generic_In_Parameter, |
| E_Named_Integer, |
| E_Named_Real, |
| E_Enumeration_Type, |
| E_Enumeration_Subtype, |
| E_Signed_Integer_Type, |
| E_Signed_Integer_Subtype, |
| E_Modular_Integer_Type, |
| E_Modular_Integer_Subtype, |
| E_Ordinary_Fixed_Point_Type, |
| E_Ordinary_Fixed_Point_Subtype, |
| E_Decimal_Fixed_Point_Type, |
| E_Decimal_Fixed_Point_Subtype, |
| E_Floating_Point_Type, |
| E_Floating_Point_Subtype, |
| E_Access_Type, |
| E_Access_Subtype, |
| E_Access_Attribute_Type, |
| E_Allocator_Type, |
| E_General_Access_Type, |
| E_Access_Subprogram_Type, |
| E_Anonymous_Access_Subprogram_Type, |
| E_Access_Protected_Subprogram_Type, |
| E_Anonymous_Access_Protected_Subprogram_Type, |
| E_Anonymous_Access_Type, |
| E_Array_Type, |
| E_Array_Subtype, |
| E_String_Literal_Subtype, |
| E_Class_Wide_Type, |
| E_Class_Wide_Subtype, |
| E_Record_Type, |
| E_Record_Subtype, |
| E_Record_Type_With_Private, |
| E_Record_Subtype_With_Private, |
| E_Private_Type, |
| E_Private_Subtype, |
| E_Limited_Private_Type, |
| E_Limited_Private_Subtype, |
| E_Incomplete_Type, |
| E_Incomplete_Subtype, |
| E_Task_Type, |
| E_Task_Subtype, |
| E_Protected_Type, |
| E_Protected_Subtype, |
| E_Exception_Type, |
| E_Subprogram_Type, |
| E_Enumeration_Literal, |
| E_Function, |
| E_Operator, |
| E_Procedure, |
| E_Abstract_State, |
| E_Entry, |
| E_Entry_Family, |
| E_Block, |
| E_Entry_Index_Parameter, |
| E_Exception, |
| E_Generic_Function, |
| E_Generic_Procedure, |
| E_Generic_Package, |
| E_Label, |
| E_Loop, |
| E_Return_Statement, |
| E_Package, |
| E_Package_Body, |
| E_Protected_Object, |
| E_Protected_Body, |
| E_Task_Body, |
| E_Subprogram_Body |
| ); |
| |
| subtype Access_Kind is Entity_Kind range |
| E_Access_Type .. |
| E_Anonymous_Access_Type; |
| |
| subtype Array_Kind is Entity_Kind range |
| E_Array_Type .. |
| E_String_Literal_Subtype; |
| |
| subtype Object_Kind is Entity_Kind range |
| E_Component .. |
| E_Generic_In_Parameter; |
| |
| subtype Record_Kind is Entity_Kind range |
| E_Class_Wide_Type .. |
| E_Record_Subtype_With_Private; |
| |
| subtype Scalar_Kind is Entity_Kind range |
| E_Enumeration_Type .. |
| E_Floating_Point_Subtype; |
| |
| subtype Type_Kind is Entity_Kind range |
| E_Enumeration_Type .. |
| E_Subprogram_Type; |
| |
| type Node_Record (Is_Extension : Boolean := False) is record |
| Flag16 : Boolean; |
| Nkind : Node_Kind; |
| end record; |
| |
| function N_To_E is new Unchecked_Conversion (Node_Kind, Entity_Kind); |
| |
| type Arr is array (Node_Id) of Node_Record; |
| |
| Nodes : Arr; |
| |
| end Debug10_Pkg; |