--------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- -- 11 package Asis.Compilation_Units.Times --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- with Ada.Calendar; package Asis.Compilation_Units.Times is --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- -- Asis.Compilation_Units.Times encapsulates the time related functions used -- within ASIS. --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- -- 11.1 type Time --------------------------------------------------------------------------------------- -- ASIS uses the predefined Ada.Calendar.Time. -- ASIS uses the predefined Standard.Duration. -- The constant Nil_ASIS_Time is defined to support time queries where a -- time is unavailable/unknown. --------------------------------------------------------------------------------------- Nil_ASIS_Time : constant Ada.Calendar.Time := Ada.Calendar.Time_Of (Year => 1901, Month => 1, Day => 1, Seconds => 0.0); --------------------------------------------------------------------------------------- -- 11.2 function Time_Of_Last_Update --------------------------------------------------------------------------------------- function Time_Of_Last_Update (Compilation_Unit : in Asis.Compilation_Unit) return Ada.Calendar.Time; --------------------------------------------------------------------------------------- -- Compilation_Unit - Specifies the unit to query -- -- Returns the time that this physical compilation unit was most recently -- updated in its implementor's Ada Environment. This will often be the -- time of its last compilation. The exact significance of the result is -- implementation specific. -- Returns Nil_ASIS_Time if the unit has a Nil or nonexistent unit kind, or if -- the time of last update is not available, or not meaningful, for any -- reason. -- -- All Unit Kinds are appropriate. -- --------------------------------------------------------------------------------------- -- 11.3 function Compilation_CPU_Duration --------------------------------------------------------------------------------------- function Compilation_CPU_Duration (Compilation_Unit : in Asis.Compilation_Unit) return Standard.Duration; --------------------------------------------------------------------------------------- -- Compilation_Unit - Specifies the unit to query -- -- Returns the Central Processing Unit (CPU) duration used to compile the physical -- compilation unit associated with the Compilation_Unit argument. The exact -- significance, or accuracy, of the result is implementation specific. Returns a -- duration of 0.0 if the unit has a Nil or nonexistent unit kind, or if -- the CPU duration for the last compilation is not available for any reason. -- Returns a duration of 86_400.0 if the CPU duration for the last compilation is -- greater than 1 day. -- -- All Unit Kinds are appropriate. -- --------------------------------------------------------------------------------------- -- 11.4 function Attribute_Time --------------------------------------------------------------------------------------- function Attribute_Time (Compilation_Unit : in Asis.Compilation_Unit; Attribute : in Wide_String) return Ada.Calendar.Time; --------------------------------------------------------------------------------------- -- Compilation_Unit - Specifies the unit to query -- Attribute - Specifies the name of the attribute to query -- -- Returns the Time value associated with the given attribute. Returns -- Nil_ASIS_Time if the argument is a Nil_Compilation_Unit, the unit does -- not have the given Attribute, or the implementation does not record times -- for attributes. -- -- All Unit Kinds are appropriate. -- -- Results of this query may vary across ASIS implementations. -- --------------------------------------------------------------------------------------- end Asis.Compilation_Units.Times;