File : asis-errors.ads


------------------------------------------------------------------------------
--                                                                          --
--                 ASIS-for-GNAT IMPLEMENTATION COMPONENTS                  --
--                                                                          --
--                          A S I S . E R R O R S                           --
--                                                                          --
--                                 S p e c                                  --
--                                                                          --
-- This   specification   is   adapted  from  the  Ada  Semantic  Interface --
-- Specification  (ASIS)  definition,  ISO/IEC  15291,  Working Draft.  In  --
-- accordance with the (expected) copyright of the ASIS definition, you can --
-- freely  copy  and  modify  this  specification,  provided  that  if  you --
-- redistribute  a  modified  version,  any  changes that you have made are --
-- clearly indicated.                                                       --
--                                                                          --
------------------------------------------------------------------------------

--  The content of this  specification is taken "as is" from ASIS 2.0.R.
--  The code is reformatted to follow the GNAT coding style rules

------------------------------------------------------------------------------
--  4  package Asis.Errors
------------------------------------------------------------------------------
------------------------------------------------------------------------------
package Asis.Errors is
------------------------------------------------------------------------------
------------------------------------------------------------------------------
--
--  ASIS reports all operational errors by raising an exception.  Whenever an
--  ASIS implementation raises one of the exceptions declared in package
--  Asis.Exceptions, it will previously have set the values returned by the
--  Status and Diagnosis queries to indicate the cause of the error.  The
--  possible values for Status are indicated in the definition of Error_Kinds
--  below, with suggestions for the associated contents of the Diagnosis
--  string as a comment.
--
--  The Diagnosis and Status queries are provided in the Asis.Implementation
--  package to supply more information about the reasons for raising any
--  exception.
--
--  ASIS applications are encouraged to follow this same convention whenever
--  they explicitly raise any ASIS exception--always record a Status and
--  Diagnosis prior to raising the exception.
------------------------------------------------------------------------------
--  4.1   type Error_Kinds
------------------------------------------------------------------------------
--  This enumeration type describes the various kinds of errors.
--

   type Error_Kinds is (

      Not_An_Error,               -- No error is presently recorded
      Value_Error,                -- Routine argument value invalid
      Initialization_Error,       -- ASIS is uninitialized
      Environment_Error,          -- ASIS could not initialize
      Parameter_Error,            -- Bad Parameter given to Initialize
      Capacity_Error,             -- Implementation overloaded
      Name_Error,                 -- Context/unit not found
      Use_Error,                  -- Context/unit not use/open-able
      Data_Error,                 -- Context/unit bad/invalid/corrupt
      Text_Error,                 -- The program text cannot be located
      Storage_Error,              -- Storage_Error suppressed
      Obsolete_Reference_Error,   -- Argument or result is invalid due to
      --                             and inconsistent compilation unit
      Unhandled_Exception_Error,  -- Unexpected exception suppressed
      Not_Implemented_Error,      -- Functionality not implemented
      Internal_Error);            -- Implementation internal failure

end Asis.Errors