DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦80792ace6⟧ Ada Source

    Length: 49152 (0xc000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Object_Info, seg_0045ab

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



--| @SUMMARY This package provides information about objects in the Environment.
--|
--| @DESCRIPTION This package consists of several sub-packages, each of which
--| is dedicated to a particular kind of object.
--|
--| If "Transitive" is True, the parents or children of an object
--| will be analyzed transitively. If False, only the immediate parent
--| or children of an object will be analyzed.
--|
--| @SPECIAL_NOTES The "Contains_XXX" predicates work by resolving an
--| iterator and then testing if the iterator is empty or not. If you want
--| to write some code that has the following intent:
--|
--|   if Contains_XXX then
--|       All_XXXs := XXXs_In
--|          ...
--|
--| this will be fairly inefficient, as it resolves the same iterator twice.
--| It is more efficient, in this case, to write the following code:
--|
--|   All_XXXs := XXXs_In
--|   if not Empty (All_XXXs) then
--|      ...
--|
--| No exceptions are raised by this package. If an operation is applied
--| to an inappropriate object, the result will either be an empty
--| set of objects, or a bad object.
--|
--| @INDICES (DIRECTORY_ANALYSIS)
--|
with Activity;
with Directory;
with Directory_Tools;
package Object_Info is

    subtype Object  is Directory_Tools.Object.Handle;
    subtype Objects is Directory_Tools.Object.Iterator;

    --| @SUMMARY This package provides information applicable to any object in
    --| the Environment.
    --|
    package Any is

        subtype Library             is Object;
        subtype Directory           is Object;
        subtype World               is Object;
        subtype Simple_World        is Object;
        subtype Subsystem           is Object;
        subtype View                is Object;
        subtype Spec_View           is Object;
        subtype Load_View           is Object;
        subtype Working_Load_View   is Object;
        subtype Released_Load_View  is Object;
        subtype Code_Only_Load_View is Object;
        subtype Combined_View       is Object;
        subtype Units_Directory     is Object;
        subtype Simple_Object       is Object;
        subtype Ada_Unit            is Object;
        subtype File                is Object;
        subtype Misc_Simple_Object  is Object;
        subtype Frozen_Object       is Object;

        subtype Libraries            is Objects;
        subtype Directories          is Objects;
        subtype Worlds               is Objects;
        subtype Simple_Worlds        is Objects;
        subtype Subsystems           is Objects;
        subtype Views                is Objects;
        subtype Spec_Views           is Objects;
        subtype Load_Views           is Objects;
        subtype Working_Load_Views   is Objects;
        subtype Released_Load_Views  is Objects;
        subtype Code_Only_Load_Views is Objects;
        subtype Combined_Views       is Objects;
        subtype Simple_Objects       is Objects;
        subtype Ada_Units            is Objects;
        subtype Files                is Objects;
        subtype Misc_Simple_Objects  is Objects;
        subtype Frozen_Objects       is Objects;

        function Is_Empty (These_Objects : in Objects) return Boolean;
        --| @DESCRIPTION
        --| Returns True if the specified set of objects contains no
        --| objects, or is Bad.

        function Number_In (These_Objects : in Objects) return Natural;
        --| @DESCRIPTION
        --| Returns the number of objects contained in the set of objects.
        --| Returns 0 if the set is Bad.

        function Classes_Equal
                    (This_Object : in Object;
                     This_Class  : in Directory_Tools.Object.Class_Enumeration)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the major class of the specified object is
        --| equal to the specified class.

        function Subclasses_Equal
                    (This_Object   : in Object;
                     This_Subclass : in Standard.Directory.Subclass)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the subclass of the specified object is
        --| equal to the specified subclass.

        function Is_Good (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is Good.

        function Is_Bad (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is Bad.

        function Is_Library (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a directory, simple
        --| world, subsystem, or view.

        function Is_Directory (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a directory.

        function Is_World (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a simple world,
        --| subsystem, or view.

        function Is_Simple_World (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a simple world.

        function Is_Model_World (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a simple world
        --| located in "!MODEL".

        function Is_Root (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is named "!".

        function Is_Subsystem (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a subsystem.

        function Is_View (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a spec view,
        --| working load view, released load view, code only load
        --| view, or combined view.

        function Is_Spec_View (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a spec view.

        function Is_Load_View (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a load view.

        function Is_Working_Load_View (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a working load view.

        function Is_Released_Load_View (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a released load view.

        function Is_Code_Only_Load_View
                    (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a code only load view.

        function Is_Combined_View (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a combined view.

        function Is_Units_Directory_Of_View
                    (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is the units directory
        --| of a view.

        function Is_Simple_Object (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is not a library of
        --| some kind.

        function Is_Ada_Unit (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is an Ada unit.

        function Is_File (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a file.

        function Is_Misc_Simple_Object (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is a simple object
        --| that is not an Ada unit and is not a file.

        function Is_Frozen (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is frozen.

        function Contains_Libraries
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| library.

        function Contains_Directories
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| directory.

        function Contains_Worlds
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| world (simple or otherwise).

        function Contains_Simple_Worlds
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| simple world.

        function Contains_Subsystems
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| subsystem.

        function Contains_Views
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| view (of any kind).

        function Contains_Spec_Views
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| spec view.

        function Contains_Load_Views
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| load view (of any kind).

        function Contains_Working_Load_Views
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| working load view.

        function Contains_Released_Load_Views
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| released load view.

        function Contains_Code_Only_Load_Views
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| code only load view.

        function Contains_Combined_Views
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| combined view.

        function Contains_Simple_Objects
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| object that is not a world of some kind.

        function Contains_Ada_Units
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| Ada unit.

        function Contains_Files
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| file.

        function Contains_Misc_Simple_Objects
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| object that is not a world of some kind, not an Ada unit,
        --| and not a file.

        function Contains_Frozen_Objects
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains at least one
        --| object that is frozen.

        function Is_Contained (This_Object : in Object; By_Library : Object)
                              return Boolean;
        --| @DESCRIPTION
        --| returns True iff This_Object is located somewhere inside By_Library.

        function Is_Contained_By_Directory
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| directory.

        function Is_Contained_By_World
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| world of some kind.

        function Is_Contained_By_Simple_World
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| simple world.

        function Is_Contained_By_Subsystem
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| subsystem.

        function Is_Contained_By_View
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| view of some kind.

        function Is_Contained_By_Spec_View
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| spec view.

        function Is_Contained_By_Load_View
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| load view of some kind.

        function Is_Contained_By_Working_Load_View
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| working load view.

        function Is_Contained_By_Released_Load_View
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| released load view.

        function Is_Contained_By_Code_Only_Load_View
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| code only load view.

        function Is_Contained_By_Combined_View
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by a
        --| combined view.

        function Is_Contained_By_Units_Directory_Of_View
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is contained by the
        --| units directory of some kind of view.

        function Directory_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Directory;
        --| @DESCRIPTION
        --| Returns the first directory found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function World_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return World;
        --| @DESCRIPTION
        --| Returns the first world of any kind found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function Simple_World_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Simple_World;
        --| @DESCRIPTION
        --| Returns the first simple world found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function Subsystem_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Subsystem;
        --| @DESCRIPTION
        --| Returns the first subsystem found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function View_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return View;
        --| @DESCRIPTION
        --| Returns the first view of any kind found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function Spec_View_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Spec_View;
        --| @DESCRIPTION
        --| Returns the first spec view found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function Load_View_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Load_View;
        --| @DESCRIPTION
        --| Returns the first load view of any kind found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function Working_Load_View_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Working_Load_View;
        --| @DESCRIPTION
        --| Returns the first working load view found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function Released_Load_View_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Released_Load_View;
        --| @DESCRIPTION
        --| Returns the first released load view found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function Code_Only_Load_View_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Code_Only_Load_View;
        --| @DESCRIPTION
        --| Returns the first code only load view found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function Combined_View_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Combined_View;
        --| @DESCRIPTION
        --| Returns the first combined view found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function Units_Directory_Containing
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Units_Directory;
        --| @DESCRIPTION
        --| Returns the first units directory of a view found that contains the
        --| specified object. Returns a Bad object if no container
        --| of the specified kind exists.

        function All_Objects_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Objects;
        --| @DESCRIPTION
        --| Returns all objects of any kind contained by the specified object.

        function Libraries_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Libraries;
        --| @DESCRIPTION
        --| Returns all libraries of any kind contained by the specified object.

        function Directories_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Directories;
        --| @DESCRIPTION
        --| Returns all directories contained by the specified object.

        function Worlds_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Worlds;
        --| @DESCRIPTION
        --| Returns all worlds of any kind contained by the specified object.

        function Simple_Worlds_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Simple_Worlds;
        --| @DESCRIPTION
        --| Returns all simple worlds contained by the specified object.

        function Subsystems_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Subsystems;
        --| @DESCRIPTION
        --| Returns all subsystems contained by the specified object.

        function Views_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Views;
        --| @DESCRIPTION
        --| Returns all views of any kind contained by the specified object.

        function Spec_Views_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Spec_Views;
        --| @DESCRIPTION
        --| Returns all spec views contained by the specified object.

        function Load_Views_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Load_Views;
        --| @DESCRIPTION
        --| Returns all load views of any kind contained by the specified object.

        function Working_Load_Views_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Working_Load_Views;
        --| @DESCRIPTION
        --| Returns all working load views contained by the specified object.

        function Released_Load_Views_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Released_Load_Views;
        --| @DESCRIPTION
        --| Returns all released load views contained by the specified object.

        function Code_Only_Load_Views_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Code_Only_Load_Views;
        --| @DESCRIPTION
        --| Returns all code only load views contained by the specified object.

        function Combined_Views_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Combined_Views;
        --| @DESCRIPTION
        --| Returns all combined views contained by the specified object.

        function Simple_Objects_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Simple_Objects;
        --| @DESCRIPTION
        --| Returns all simple objects of any kind contained by the specified
        --| object.

        function Ada_Units_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Ada_Units;
        --| @DESCRIPTION
        --| Returns all Ada units contained by the specified object.

        function Files_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Files;
        --| @DESCRIPTION
        --| Returns all files contained by the specified object.

        function Misc_Simple_Objects_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Misc_Simple_Objects;
        --| @DESCRIPTION
        --| Returns all non-Ada non-file simple objects contained by the
        --| specified object.

        function Frozen_Objects_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Frozen_Objects;
        --| @DESCRIPTION
        --| Returns all frozen objects contained by the specified object.

    end Any;

    --| @SUMMARY This package provides information about objects under CMVC.
    --|
    package Cmvc is

        subtype Subsystem is Object_Info.Any.Subsystem;

        subtype View       is Object_Info.Any.View;
        subtype Views      is Object_Info.Any.Views;
        subtype Spec_View  is Object_Info.Any.Spec_View;
        subtype Spec_Views is Object_Info.Any.Spec_Views;
        subtype Load_View  is Object_Info.Any.Load_View;
        subtype Load_Views is Object_Info.Any.Load_Views;

        subtype Referencer  is View;
        subtype Referencers is Views;
        subtype Import      is Spec_View;
        subtype Imports     is Spec_Views;

        subtype Checked_Out_Objects is Objects;
        subtype Controlled_Objects  is Objects;

        subtype Model_World is Object_Info.Any.Simple_World;

        function Model_For (This_View : in View) return Model_World;
        --| @DESCRIPTION
        --| Returns the model world for the specified view.

        function Models_Equal (This_View : in View; This_Model : in Model_World)
                              return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified view has the specified model.

        function Is_Primary (This_Subsystem : in Subsystem) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified subsystem is primary.

        function Is_Secondary (This_Subsystem : in Subsystem) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified subsystem is secondary.

        function Is_Controlled (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified objet is controlled.

        function Is_Checked_Out (This_Object : in Object) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object is checked-out.

        function Contains_Controlled_Objects
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains controlled objects.

        function Contains_Checked_Out_Objects
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified object contains checked-out objects.

        function Controlled_Objects_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Controlled_Objects;
        --| @DESCRIPTION
        --| Returns all controlled objects of any kind contained by the
        --| specified object.

        function Checked_Out_Objects_In
                    (This_Object : in Object; Transitive : in Boolean := True)
                    return Checked_Out_Objects;
        --| @DESCRIPTION
        --| Returns all checked-out objects of any kind contained by the
        --| specified object.

        function Current_Spec_View_In
                    (This_Subsystem : in Subsystem;
                     This_Activity  : in Activity.Activity_Name :=
                        Activity.The_Current_Activity) return Spec_View;
        --| @DESCRIPTION
        --| Returns the current spec view corresponding to the specified
        --| subsystem in the specified activity. Returns a Bad object
        --| if there is no such spec view.

        function Current_Load_View_In
                    (This_Subsystem : in Subsystem;
                     This_Activity  : in Activity.Activity_Name :=
                        Activity.The_Current_Activity) return Load_View;
        --| @DESCRIPTION
        --| Returns the current load view corresponding to the specified
        --| subsystem in the specified activity. Returns a Bad object
        --| if there is no such load view.

        function Imports_For
                    (This_View : in View; Used_Only : in Boolean := True)
                    return Imports;
        --| @DESCRIPTION
        --| Returns the imports (which are always spec views) for the
        --| specified view.
        --|
        --| If "Used_Only" is True, only returns those imports that
        --| contain Ada units that are depended upon by at least one Ada
        --| unit within the specified view.

        function Is_Used
                    (This_Import : in Import; By_View : in View) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified import contains an Ada unit
        --| that is depended upon by at least one Ada unit within the
        --| specified view.

        function Referencers_Of
                    (This_Spec_View : in Spec_View;
                     Using_Only     : in Boolean := True) return Referencers;
        --| @DESCRIPTION
        --| Returns the referencers (which are always views of some kind)
        --| of the specified spec view.
        --|
        --| If "Using_Only" is True, only returns those referencers that
        --| contain Ada units that depend upon at least one Ada unit within
        --| the specified view.

        function Is_User (This_Referencer : in Referencer;
                          Of_Spec_View    : in Spec_View) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified referencer contains an Ada unit
        --| that depends upon at least one Ada unit within the specified
        --| view.

    end Cmvc;

    --| @SUMMARY This package provides information specific to links.
    --|
    package Links is
       subtype World is Object_Info.Any.World;
        subtype View  is Object_Info.Any.View;

        subtype Link  is Object_Info.Any.Ada_Unit;
        subtype Links is Object_Info.Any.Ada_Units;

        subtype Internal_Links              is Links;
        subtype External_Links              is Links;
        subtype Imported_External_Links     is External_Links;
        subtype Non_Imported_External_Links is External_Links;

        subtype Import is Object_Info.Cmvc.Import;

        subtype Ada_Unit  is Object_Info.Any.Ada_Unit;
        subtype Ada_Units is Object_Info.Any.Ada_Units;

        function Links_For (This_World : in World; Used_Only : in Boolean)
                           return Links;
        --| @DESCRIPTION
        --| Returns all links (which are always Ada units) for the specified
        --| world.
        --|
        --| If "Used_Only" is True, only returns those links that are
        --| depended upon by at least one Ada unit in the specified world.

        function Internal_Links_For
                    (This_World : in World; Used_Only : in Boolean)
                    return Internal_Links;
        --| @DESCRIPTION
        --| Returns all internal links for the specified world.
        --|
        --| If "Used_Only" is True, only returns those links that are
        --| depended upon by at least one Ada unit in the specified world.

        function External_Links_For
                    (This_World : in World; Used_Only : in Boolean)
                    return External_Links;
        --| @DESCRIPTION
        --| Returns all external links for the specified world.
        --|
        --| If "Used_Only" is True, only returns those links that are
        --| depended upon by at least one Ada unit in the specified world.

        function Imported_External_Links_For
                    (This_View : in View; Used_Only : in Boolean)
                    return Imported_External_Links;
        --| @DESCRIPTION
        --| Returns all external links that were added to the link
        --| pack for the specified view via a "CMVC.Import" command.
        --|
        --| If "Used_Only" is True, only returns those links that are
        --| depended upon by at least one Ada unit in the specified view.

        function Non_Imported_External_Links_For
                    (This_View : in View; Used_Only : in Boolean)
                    return Non_Imported_External_Links;
        --| @DESCRIPTION
        --| Returns all external links that were added to the link
        --| pack for the specified view via a "Links.Add" command.
        --|
        --| If "Used_Only" is True, only returns those links that are
        --| depended upon by at least one Ada unit in the specified view.

        function Is_Used
                    (This_Link : in Link; In_World : in World) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified link is depended upon by at       --| least one Ada unit in the specified world.

        function Dependencies_On
                    (This_Link : in Link; In_World : in World) return Ada_Units;
        --| @DESCRIPTION
        --| Returns the Ada units in the specified world that are installed
        --| and/or coded and which depend on the specified link via a context
        --| clause.

        function Links_Derived_From
                    (This_Import : in Import;
                     Into_View   : in View;
                     Used_Only   : in Boolean) return Imported_External_Links;
        --| @DESCRIPTION
        --| Returns all external links in the link pack of the specified
        --| view that are to Ada units contained in the specified import.
        --|
        --| If "Used_Only" is True, only returns those links that are
        --| depended upon by at least one Ada unit in the specified view.

    end Links;

    --| @SUMMARY This package provides information specific to Ada objects.
    --|
    package Ada is

        subtype Ada_Unit is Object_Info.Any.Ada_Unit;  
        subtype Ada_Spec is Ada_Unit;
        subtype Ada_Body is Ada_Unit;

        subtype Ada_Units is Object_Info.Any.Ada_Units;
        subtype Ada_Specs is Ada_Units;  
        subtype Subunits  is Ada_Units;

        function Is_Installed (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified Ada unit is installed but
        --| not coded.

        function Is_Coded (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified Ada unit is coded.

        function Is_Installed_Or_Coded (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified Ada unit is installed or coded.

        function Is_Body (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns Tue iff the specified Ada unit is a body.

        function Is_Subunit (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified Ada unit is a subunit.

        function Is_Body_Or_Subunit (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified Ada unit is a body or a subunit.

        function Is_Spec (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified Ada unit is a spec.

        function Is_Universe_Mirror (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified Ada unit is an Environment spec
        --| (i.e. has no visible body anywhere in the Environment).

        function Is_Generic_Spec (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified Ada unit is a generic spec.

        function Is_Spec_In_Spec_View (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified Ada unit is a spec contained in
        --| the units directory of a spec view.

        function Is_Spec_In_Load_View (This_Unit : in Ada_Unit) return Boolean;
        --| @DESCRIPTION
        --| Returns True iff the specified Ada unit is a spec contained in
        --| the units directory of a load view.

        function Spec_In_Other_View
                    (This_Spec     : in Ada_Spec;
                     This_Activity : in Activity.Activity_Name :=
                        Activity.The_Current_Activity) return Ada_Spec;
        --| @DESCRIPTION
        --| Given a spec in a spec view, returns the corresponding spec in
        --| the load view in the specified activity (unless the corresponding
        --| load view is a code view, in which case a nil object is returned).
        --|
        --| Given a spec in a load view, returns the corresponding spec in
        --| the spec view in the specified activity.
        --|
        --| Given a spec in a combined view, returns the spec itself.

        function Specs_Withed_By (This_Unit : in Ada_Unit) return Ada_Specs;
        --| @DESCRIPTION
        --| Returns the specs in the context clause for the specified unit.

        function Dependents_Of (This_Unit : in Ada_Unit) return Ada_Units;
        --| @DESCRIPTION
        --| Given a spec, returns the body associated with the spec.
        --|
        --| Given a body, returns the subunits of the body.
        --|
        --| Given a subunit, returns the subunits of the subunit.

        function Parent_Of (This_Unit : in Ada_Unit) return Ada_Unit;
        --| @DESCRIPTION
        --| Given a subunit, returns the unit it is declared "separate" from.
        --|
        --| Given a body, returns the spec associated with it.
        --|
        --| Given a spec, returns a Bad object.

        function Subunits_Of (This_Unit : in Ada_Unit) return Subunits;
        --| @DESCRIPTION
        --| Returns the subunits of the specified unit.

        function Body_For (This_Unit : in Ada_Unit) return Ada_Body;
        --| @DESCRIPTION
        --| Given a spec, returns the body associated with the spec.
        --|
        --| Given a subunit, traverses all parents of the subunit until
        --| gets to the body, and returns the body.
        --|
        --| Given a body, returns the body itself.

        function Spec_For (This_Unit : in Ada_Unit) return Ada_Spec;
        --| @DESCRIPTION
        --| Given a body, returns the spec associated with the body.
        --|
        --| Given a subunit, traverses all parents of the subunit until
        --| gets to the body, then returns the spec associated with the
        --| body.
        --|
        --| Given a spec, returns the spec itself.

    end Ada;

end Object_Info;

E3 Meta Data

    nblk1=2f
    nid=0
    hdr6=5e
        [0x00] rec0=1a rec1=00 rec2=01 rec3=06a
        [0x01] rec0=1d rec1=00 rec2=02 rec3=006
        [0x02] rec0=02 rec1=00 rec2=2f rec3=006
        [0x03] rec0=15 rec1=00 rec2=03 rec3=012
        [0x04] rec0=04 rec1=00 rec2=2e rec3=03c
        [0x05] rec0=17 rec1=00 rec2=04 rec3=058
        [0x06] rec0=19 rec1=00 rec2=05 rec3=036
        [0x07] rec0=17 rec1=00 rec2=06 rec3=05a
        [0x08] rec0=17 rec1=00 rec2=07 rec3=02a
        [0x09] rec0=18 rec1=00 rec2=08 rec3=008
        [0x0a] rec0=18 rec1=00 rec2=09 rec3=058
        [0x0b] rec0=19 rec1=00 rec2=0a rec3=03e
        [0x0c] rec0=18 rec1=00 rec2=0b rec3=004
        [0x0d] rec0=16 rec1=00 rec2=0c rec3=056
        [0x0e] rec0=19 rec1=00 rec2=0d rec3=030
        [0x0f] rec0=16 rec1=00 rec2=0e rec3=082
        [0x10] rec0=19 rec1=00 rec2=0f rec3=06c
        [0x11] rec0=18 rec1=00 rec2=10 rec3=028
        [0x12] rec0=16 rec1=00 rec2=11 rec3=05e
        [0x13] rec0=17 rec1=00 rec2=12 rec3=00c
        [0x14] rec0=16 rec1=00 rec2=13 rec3=012
        [0x15] rec0=15 rec1=00 rec2=14 rec3=052
        [0x16] rec0=14 rec1=00 rec2=15 rec3=082
        [0x17] rec0=16 rec1=00 rec2=16 rec3=06c
        [0x18] rec0=18 rec1=00 rec2=17 rec3=028
        [0x19] rec0=17 rec1=00 rec2=18 rec3=016
        [0x1a] rec0=16 rec1=00 rec2=19 rec3=052
        [0x1b] rec0=17 rec1=00 rec2=1a rec3=03a
        [0x1c] rec0=1c rec1=00 rec2=1b rec3=03e
        [0x1d] rec0=01 rec1=00 rec2=2d rec3=008
        [0x1e] rec0=17 rec1=00 rec2=1c rec3=05e
        [0x1f] rec0=00 rec1=00 rec2=2c rec3=002
        [0x20] rec0=16 rec1=00 rec2=1d rec3=086
        [0x21] rec0=16 rec1=00 rec2=1e rec3=054
        [0x22] rec0=15 rec1=00 rec2=1f rec3=08a
        [0x23] rec0=1b rec1=00 rec2=20 rec3=002
        [0x24] rec0=17 rec1=00 rec2=21 rec3=06c
        [0x25] rec0=02 rec1=00 rec2=2b rec3=00e
        [0x26] rec0=16 rec1=00 rec2=22 rec3=008
        [0x27] rec0=14 rec1=00 rec2=23 rec3=002
        [0x28] rec0=16 rec1=00 rec2=24 rec3=06c
        [0x29] rec0=1b rec1=00 rec2=25 rec3=02a
        [0x2a] rec0=00 rec1=00 rec2=2a rec3=002
        [0x2b] rec0=17 rec1=00 rec2=26 rec3=018
        [0x2c] rec0=13 rec1=00 rec2=27 rec3=050
        [0x2d] rec0=17 rec1=00 rec2=28 rec3=052
        [0x2e] rec0=1c rec1=00 rec2=29 rec3=000
    tail 0x217002140815c65356280 0x42a00088462061e03