--  AUTOGENERATED, edit doc/exceptions.md

package Componolit.Runtime.Exceptions is
   pragma Pure;
   pragma Preelaborate;

   type Exception_Type is (
      Undefined_Exception,
      CE_Explicit_Raise,
      CE_Access_Check,
      CE_Null_Access_Parameter,
      CE_Discriminant_Check,
      CE_Divide_By_Zero,
      CE_Index_Check,
      CE_Invalid_Data,
      CE_Length_Check,
      CE_Null_Exception_Id,
      CE_Null_Not_Allowed,
      CE_Overflow_Check,
      CE_Partition_Check,
      CE_Range_Check,
      CE_Tag_Check,
      PE_Explicit_Raise,
      PE_Access_Before_Elaboration,
      PE_Accessibility_Check,
      PE_Address_Of_Intrinsic,
      PE_Aliased_Parameters,
      PE_All_Guards_Closed,
      PE_Bad_Predicated_Generic_Type,
      PE_Current_Task_In_Entry_Body,
      PE_Duplicated_Entry_Address,
      PE_Implicit_Return,
      PE_Misaligned_Address_Value,
      PE_Missing_Return,
      PE_Overlaid_Controlled_Object,
      PE_Non_Transportable_Actual,
      PE_Potentially_Blocking_Operation,
      PE_Stream_Operation_Not_Allowed,
      PE_Stubbed_Subprogram_Called,
      PE_Unchecked_Union_Restriction,
      PE_Finalize_Raised_Exception,
      SE_Explicit_Raise,
      SE_Empty_Storage_Pool,
      SE_Infinite_Recursion,
      SE_Object_Too_Large
   );

   for Exception_Type use (
      Undefined_Exception => 16#0#,
      CE_Explicit_Raise => 16#100#,
      CE_Access_Check => 16#101#,
      CE_Null_Access_Parameter => 16#102#,
      CE_Discriminant_Check => 16#103#,
      CE_Divide_By_Zero => 16#104#,
      CE_Index_Check => 16#105#,
      CE_Invalid_Data => 16#106#,
      CE_Length_Check => 16#107#,
      CE_Null_Exception_Id => 16#108#,
      CE_Null_Not_Allowed => 16#109#,
      CE_Overflow_Check => 16#10a#,
      CE_Partition_Check => 16#10b#,
      CE_Range_Check => 16#10c#,
      CE_Tag_Check => 16#10d#,
      PE_Explicit_Raise => 16#200#,
      PE_Access_Before_Elaboration => 16#201#,
      PE_Accessibility_Check => 16#202#,
      PE_Address_Of_Intrinsic => 16#203#,
      PE_Aliased_Parameters => 16#204#,
      PE_All_Guards_Closed => 16#205#,
      PE_Bad_Predicated_Generic_Type => 16#206#,
      PE_Current_Task_In_Entry_Body => 16#207#,
      PE_Duplicated_Entry_Address => 16#208#,
      PE_Implicit_Return => 16#209#,
      PE_Misaligned_Address_Value => 16#20a#,
      PE_Missing_Return => 16#20b#,
      PE_Overlaid_Controlled_Object => 16#20c#,
      PE_Non_Transportable_Actual => 16#20d#,
      PE_Potentially_Blocking_Operation => 16#20e#,
      PE_Stream_Operation_Not_Allowed => 16#20f#,
      PE_Stubbed_Subprogram_Called => 16#210#,
      PE_Unchecked_Union_Restriction => 16#211#,
      PE_Finalize_Raised_Exception => 16#212#,
      SE_Explicit_Raise => 16#300#,
      SE_Empty_Storage_Pool => 16#301#,
      SE_Infinite_Recursion => 16#302#,
      SE_Object_Too_Large => 16#303#
   );

end Componolit.Runtime.Exceptions;
