DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T V ┃
Length: 7287 (0x1c77) Types: TextFile Names: »V«
└─⟦db1c56801⟧ Bits:30000748 8mm tape, Rational 1000, TESTMATE 2_2_0 └─ ⟦866d14df1⟧ »DATA« └─⟦97c804b2f⟧ └─⟦this⟧
with View_Pair; with Unit_Data_Pair; with Full_Unit_Path_List; with Unit_Path_Data_List; with Po_Handle; with Po_Conditions; with Po_Access_Modes; with System; package Version_Information is -- This package provides an interface to the subject program closure -- information associated with a test run. Use these operations to obtain the -- Ada unit closure, and version information for each Ada unit in the closure, -- for each subject program in a test run. type Closure_Objects is (Cmvc_Frozen_Units, Cmvc_Units, Free_Units_In_Subsystem, Other_Free_Units, Subject_Program_Closure); -- The closure data is divided into five types, classified using the enumerated -- type Closure_Objects. -- Subject_Program_Closure: A map of subject program to their Ada unit closure -- sets, one entry for each subject program in the test run. -- Cmvc_Frozen_Units: A map of subsystems to Ada units; each unit found to be -- under CMVC control, and frozen, is placed in this map in the range of -- its enclosing subsystem. -- Cmvc_Units: A map of subsystems to Ada units; each unit under CMVC control -- is in this map, inserted in the range of its enclosing subsystem. -- Free_Units_In_Subsystem: A map of subsystems to Ada units; each unit found -- in a subsystem, but not under CMVC control is found in the range of -- its enclosing subsystem. -- Other_Free_Units: A list of Ada units; each Ada unit not in a subsystem is -- entered in this list. -- A subsystem is described by a View_Pair.Object, which will contain one, and -- possibly two full paths to a subsystem, corresponding to the load view and -- spec view (if any) that were resolved as part of the subject program closure -- computation performed prior to coverage analysis during the test run. The -- package View_Pair has operations for extracting the subsystem information -- from View_Pair.Objects -- The Ada unit lists take three forms, based on the information stored for a -- unit. -- Cmvc_Frozen units are maintained as a simple list of unit paths. The name of -- the frozen enclosing subsystem, coupled with the path to the unit specifies -- the unit completely. These unit paths are represented by Po_Handle.Object -- instances. The list is of type Full_Unit_Path_List.Object, and appropriate -- traversal operations reside in that package. -- Units in the Cmvc_Units and Free_Units_in_Subsystems are stored as -- Unit_Data_Pair objects, using paths relative to the enclosing subsystem. -- Information for each unit under CMVC control includes the time stamp and -- version number of checked out units, similarly for units within subsystems -- not under CMVC control. CMVC controlled units that are checked in are stored -- with the latest generation number appended to the name. The information for -- each unit can be obtained using the operations in the package -- Unit_Data_Pair. List of these units are of type Unit_Data_Pair_List.Object, -- and traversal operations for these list reside in the Unit_Data_Pair_List -- package. -- Units not in subsystems (Other_Free_Units) are also represented using -- Unit_Data_Pair objects, with the full path of the unit and a time stamp -- always recorded. Traversal of this list is done using the iterator defined -- in this package. -- Subject_Program_Closure unit lists contain the full path of each unit in the -- subject program's closure. More specific information for the unit; time -- stamp, version number, generation number and enclosing subsystem must be -- acquired using the three maps and one list described above. type Object is private; function Constructor (Heap : System.Segment) return Object; procedure Destructor (Of_The_Obj : in out Object); procedure Find (Within : Closure_Objects; Of_Obj : Object; The_Domain : View_Pair.Object; Yielding_The_Range : in out Unit_Path_Data_List.Object; With_Success : out Boolean); -- Given a subsystem described by the View_Pair object, Find will look up the -- list of Ada units within the subsystem. This version is for Cmvc_Units and -- Free_Units_In_Subsystem maps. procedure Find (Within : Closure_Objects; Of_Obj : Object; The_Domain : View_Pair.Object; Yielding_The_Range : in out Full_Unit_Path_List.Object; With_Success : out Boolean); -- Given a subsystem described by the View_Pair object, Find will look up the -- list of Ada units within the subsystem. This version is used for maps of -- Cmvc_Frozen_Units. function Eval (Within : Closure_Objects; Of_Obj : Object; With_Domain : View_Pair.Object) return Unit_Path_Data_List.Object; -- Given a subsystem described by the View_Pair object, Eval will return the -- list of Ada units within the subsystem. This version is for Cmvc_Units and -- Free_Units_In_Subsystem maps. function Eval (Within : Closure_Objects; Of_Obj : Object; With_Domain : View_Pair.Object) return Full_Unit_Path_List.Object; -- Given a subsystem described by the View_Pair object, Eval will return the -- list of Ada units within the subsystem. This version is used for maps of -- Cmvc_Frozen_Units. function Eval (Within : Closure_Objects; Of_Obj : Object; With_Domain : Po_Handle.Object) return Full_Unit_Path_List.Object; -- Given a Subject Program described by the Po_Handle object, Eval will return -- the list of Ada units in the closure of the subject program. For -- Subject_Program_Closure maps only. type Iterator is private; -- An iterator initialized to iterate over any of the five closure types can -- be used to systematically extract and access the unit version information -- of each type. function Init (Within : Closure_Objects; Of_Obj : Object) return Iterator; procedure Next (Iter : in out Iterator); -- One init, next for all five components of the object function Value (Iter : Iterator) return View_Pair.Object; -- domain of the subsystem free units map, and cmvc maps (frozen/unfrozen) function Value (Iter : Iterator) return Po_Handle.Object; -- domain of the subject program map function Value (Iter : Iterator) return Unit_Data_Pair.Object; -- the free unit list function Done (Iter : Iterator) return Boolean; package Persistent_Operations is procedure Get_Condition (Obj : in Object; Into : in out Po_Conditions.Condition); procedure Open (The_Obj : in out Object; Mode : in Po_Access_Modes.Modes; Handle : in Po_Handle.Object); function Name (For_Obj : Object) return String; procedure Close (The_Obj : in out Object; Abandon : Boolean := False); end Persistent_Operations; end Version_Information;