--------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- -- 6 package Asis.Implementation --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- with Asis.Errors; package Asis.Implementation is --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- -- Asis.Implementation provides queries to initialize, finalize, and query the -- error status of the ASIS Implementation. --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- -- 6.1 function ASIS_Version --------------------------------------------------------------------------------------- function ASIS_Version return Wide_String; --------------------------------------------------------------------------------------- -- 6.2 function ASIS_Implementor --------------------------------------------------------------------------------------- function ASIS_Implementor return Wide_String; --------------------------------------------------------------------------------------- -- 6.3 function ASIS_Implementor_Version --------------------------------------------------------------------------------------- function ASIS_Implementor_Version return Wide_String; --------------------------------------------------------------------------------------- -- 6.4 function ASIS_Implementor_Information --------------------------------------------------------------------------------------- function ASIS_Implementor_Information return Wide_String; --------------------------------------------------------------------------------------- -- Returns values which identify: -- -- ASIS_Version - the version of the ASIS interface, e.g., "2.1" -- ASIS_Implementor - the name of the implementor, e.g., "Ada Inc." -- ASIS_Implementor_Version - the implementation's version, e.g., "5.2a" -- ASIS_Implementor_Information - implementation information, e.g., "Copyright ..." -- --------------------------------------------------------------------------------------- -- 6.5 function Is_Initialized --------------------------------------------------------------------------------------- function Is_Initialized return Boolean; --------------------------------------------------------------------------------------- -- Returns True if ASIS is currently initialized. -- --------------------------------------------------------------------------------------- -- 6.6 procedure Initialize --------------------------------------------------------------------------------------- procedure Initialize (Parameters : in Wide_String := ""); --------------------------------------------------------------------------------------- -- Parameters - Specifies implementation specific parameters. -- -- Performs any necessary initialization activities. This shall be invoked -- at least once before any other ASIS services are used. Parameter values -- are implementation dependent. The call is ignored if ASIS is already -- initialized. All ASIS queries and services are ready for use once this -- call completes. -- -- Raises ASIS_Failed if ASIS failed to initialize or if the Parameters -- argument is invalid. Status is Environment_Error or Parameter_Error. -- --|AN Application Note: --|AN --|AN The ASIS implementation may be Initialized and Finalized any number of --|AN times during the operation of an ASIS program. However, all existing --|AN Context, Compilation_Unit and Element values become invalid when --|AN ASIS Is_Finalized. Subsequent calls to ASIS queries or services using --|AN such invalid Compilation_Unit or Element values will cause --|AN ASIS_Inappropriate_Context to be raised. -- --------------------------------------------------------------------------------------- -- 6.7 function Is_Finalized --------------------------------------------------------------------------------------- function Is_Finalized return Boolean; --------------------------------------------------------------------------------------- -- Returns True if ASIS is currently finalized or if ASIS has never been -- initialized. -- --------------------------------------------------------------------------------------- -- 6.8 procedure Finalize --------------------------------------------------------------------------------------- procedure Finalize (Parameters : in Wide_String := ""); --------------------------------------------------------------------------------------- -- Parameters - Specifies any implementation required parameter values. -- -- Performs any necessary ASIS termination activities. This should be invoked -- once following the last use of other ASIS queries. Parameter values are -- implementation dependent. The call is ignored if ASIS is already finalized. -- Subsequent calls to ASIS Environment, Compilation_Unit, and Element queries, -- are erroneous while the environment Is_Finalized. -- -- Raises ASIS_Failed if the ASIS implementation failed to finalize. Status -- is likely to be Internal_Error and will not be Not_An_Error. -- --------------------------------------------------------------------------------------- -- Whenever an error condition is detected, and any ASIS exception is raised, -- an Asis.Errors.Error_Kinds value and a Diagnosis string is stored. These -- values can be retrieved by the Status and Diagnosis functions. The -- Diagnosis function will retrieve the diagnostic message describing the error. -- -- Error information always refers to the most recently recorded error. -- -- Note that Diagnosis values are implementation dependent and may vary -- greatly among ASIS implementations. -- --------------------------------------------------------------------------------------- -- 6.9 function Status --------------------------------------------------------------------------------------- function Status return Asis.Errors.Error_Kinds; --------------------------------------------------------------------------------------- -- Returns the Error_Kinds value for the most recent error. -- --------------------------------------------------------------------------------------- -- 6.10 function Diagnosis --------------------------------------------------------------------------------------- function Diagnosis return Wide_String; --------------------------------------------------------------------------------------- -- Returns a string value describing the most recent error. -- -- Will typically return a null string if Status = Not_An_Error. -- --------------------------------------------------------------------------------------- -- 6.11 procedure Set_Status --------------------------------------------------------------------------------------- procedure Set_Status (Status : in Asis.Errors.Error_Kinds := Asis.Errors.Not_An_Error; Diagnosis : in Wide_String := ""); --------------------------------------------------------------------------------------- -- Status - Specifies the new status to be recorded -- Diagnosis - Specifies the new diagnosis to be recorded -- -- Sets (clears, if the defaults are used) the Status and Diagnosis -- information. Future calls to Status will return this Status (Not_An_Error) -- and this Diagnosis (a null string). -- -- Raises ASIS_Failed, with a Status of Internal_Error and a Diagnosis of -- a null string, if the Status parameter is Not_An_Error and the Diagnosis -- parameter is not a null string. -- --------------------------------------------------------------------------------------- end Asis.Implementation;