separate (Object_Info)
package body Any is

    function Is_Empty (These_Objects : in Objects) return Boolean is
        --
        The_Objects : Objects := These_Objects;
        --
    begin
        Directory_Tools.Object.Reset (The_Objects);
        return (Directory_Tools.Object.Done (The_Objects));
    end Is_Empty;

    function Number_In (These_Objects : in Objects) return Natural is
        --
        The_Objects : Objects := These_Objects;
        --
        Count : Natural := 0;
        --
    begin
        Directory_Tools.Object.Reset (The_Objects);
        while (not Directory_Tools.Object.Done (The_Objects)) loop
            Count := Count + 1;
            Directory_Tools.Object.Next (The_Objects);
        end loop;
        Directory_Tools.Object.Reset (The_Objects);
        return (Count);
    end Number_In;

    function Classes_Equal
                (This_Object : in Object;
                 This_Class : in Directory_Tools.Object.Class_Enumeration)
                return Boolean is
    begin
        return (Directory_Tools.Object.Equal
                   (Directory_Tools.Object.Class (This_Object), This_Class));
    end Classes_Equal;

    function Subclasses_Equal (This_Object : in Object;
                               This_Subclass : in Standard.Directory.Subclass)
                              return Boolean is
        --
        function "=" (This_Subclass : in Standard.Directory.Subclass;
                      That_Subclass : in Standard.Directory.Subclass)
                     return Boolean renames Standard.Directory."=";
        --
        function "=" (This_Error_Status : in Standard.Directory.Error_Status;
                      That_Error_Status : in Standard.Directory.Error_Status)
                     return Boolean renames Standard.Directory."=";
        --
        The_Object : Standard.Directory.Object;
        The_Status : Standard.Directory.Error_Status;
        --
    begin
        Directory_Tools.Object.Low_Level.Get_Object
           (This_Object, The_Object, The_Status);
        return ((The_Status = Standard.Directory.Successful) and then
                (Standard.Directory.Get_Subclass (The_Object) = This_Subclass));
    end Subclasses_Equal;

    function Is_Good (This_Object : in Object) return Boolean is
    begin
        return (not Directory_Tools.Object.Is_Bad (This_Object));
    end Is_Good;

    function Is_Bad (This_Object : in Object) return Boolean is
    begin
        return (Directory_Tools.Object.Is_Bad (This_Object));
    end Is_Bad;

    function Is_Library (This_Object : in Object) return Boolean is
    begin
        return (Directory_Tools.Library_Object.Is_Library (This_Object));
    end Is_Library;

    function Is_Directory (This_Object : in Object) return Boolean is
    begin
        return (Directory_Tools.Library_Object.Is_Directory (This_Object));
    end Is_Directory;

    function Is_World (This_Object : in Object) return Boolean is
    begin
        return (Directory_Tools.Library_Object.Is_World (This_Object));
    end Is_World;

    function Is_Simple_World (This_Object : in Object) return Boolean is
    begin
        return ((Object_Info.Any.Is_World (This_Object)) and then
                (not Object_Info.Any.Is_Subsystem (This_Object)) and then
                (not Object_Info.Any.Is_View (This_Object)));
    end Is_Simple_World;

    function Is_Model_World (This_Object : in Object) return Boolean is
    begin
        return  
           ((Directory_Tools.  
             Naming.Prefix (Directory_Tools.  
                            Naming.Full_Name (This_Object)) = "!MODEL") and then  
            (Object_Info.Any.Is_Simple_World (This_Object)));
    end Is_Model_World;

    function Is_Root (This_Object : in Object) return Boolean is
    begin
        return (Directory_Tools.Naming.Full_Name (This_Object) = "!");
    end Is_Root;

    function Is_Subsystem (This_Object : in Object) return Boolean is
    begin
        return ((Object_Info.Any.Subclasses_Equal
                    (This_Object, Object_Subclass.Subsystem_Subclass)) or else
                (Object_Info.Any.Subclasses_Equal
                    (This_Object, Object_Subclass.
                                     Spec_Load_Subsystem_Subclass)) or else  
                (Object_Info.Any.Subclasses_Equal
                    (This_Object, Object_Subclass.
                                     Combined_Subsystem_Subclass)));
    end Is_Subsystem;

    function Is_View (This_Object : in Object) return Boolean is
    begin
        return ((Object_Info.Any.Subclasses_Equal
                    (This_Object, Object_Subclass.Spec_View_Subclass)) or else
                (Object_Info.Any.Subclasses_Equal
                    (This_Object, Object_Subclass.Load_View_Subclass)) or else
                (Object_Info.Any.Subclasses_Equal
                    (This_Object, Object_Subclass.Combined_View_Subclass)));
    end Is_View;

    function Is_Spec_View (This_Object : in Object) return Boolean is
    begin
        return (Object_Info.Any.Subclasses_Equal
                   (This_Object, Object_Subclass.Spec_View_Subclass));
    end Is_Spec_View;

    function Is_Load_View (This_Object : in Object) return Boolean is
    begin
        return (Object_Info.Any.Subclasses_Equal
                   (This_Object, Object_Subclass.Load_View_Subclass));
    end Is_Load_View;

    function Is_Working_Load_View (This_Object : in Object) return Boolean is
        --
        -- Since there is no Working_View subclass, we
        -- need to test if the name of the object ends in
        -- "_WORKING".
        --
        Suffix : constant String := "_WORKING";
        --
        Name : constant String :=
           Directory_Tools.Naming.Full_Name (This_Object);
        --
    begin  
        return ((Object_Info.Any.Is_Load_View (This_Object)) and then
                (not Object_Info.Any.Is_Code_Only_Load_View
                        (This_Object)) and then
                (Name  
                    (((Name'Last - Suffix'Length) + 1)  
                         .. Name'Last) = Suffix));
    exception
        when others =>
            return (False);
            --
    end Is_Working_Load_View;

    function Is_Released_Load_View (This_Object : in Object) return Boolean is
    begin
        return ((Object_Info.Any.Is_Load_View (This_Object)) and then
                (not Object_Info.Any.Is_Working_Load_View
                        (This_Object)) and then
                (not Object_Info.Any.Is_Code_Only_Load_View (This_Object)));
    end Is_Released_Load_View;

    function Is_Code_Only_Load_View (This_Object : in Object) return Boolean is
        --
        -- Since there is no Code_View subclass, we need
        -- to test for the presence or absence of a code
        -- database.
        --
    begin
        return ((Object_Info.Any.Is_Load_View (This_Object)) and then
                (Object_Info.Any.Is_Good
                    (Directory_Tools.Naming.Resolution
                        (Directory_Tools.Naming.Full_Name (This_Object) &
                         ".CODE_DATABASE"))));
    end Is_Code_Only_Load_View;

    function Is_Combined_View (This_Object : in Object) return Boolean is
    begin
        return (Object_Info.Any.Subclasses_Equal
                   (This_Object, Object_Subclass.Combined_View_Subclass));
    end Is_Combined_View;

    function Is_Units_Directory_Of_View
                (This_Object : in Object) return Boolean is
    begin  
        return ((Object_Info.Any.Is_Directory (This_Object)) and then
                ((Directory_Tools.Naming.Full_Name (This_Object)) =
                 (Directory_Tools.Naming.Full_Name
                     (View_Containing (This_Object, Transitive => False)) &
                  ".UNITS")));
    end Is_Units_Directory_Of_View;

    function Is_Simple_Object (This_Object : in Object) return Boolean is
    begin
        return ((Object_Info.Any.Is_Good (This_Object)) and then  
                (not Object_Info.Any.Is_Library (This_Object)));
    end Is_Simple_Object;

    function Is_Ada_Unit (This_Object : in Object) return Boolean is
    begin
        return (Object_Info.Any.Classes_Equal
                   (This_Object, Directory_Tools.Object.Ada_Class));
    end Is_Ada_Unit;

    function Is_File (This_Object : in Object) return Boolean is
    begin
        return (Object_Info.Any.Classes_Equal
                   (This_Object, Directory_Tools.Object.File_Class));
    end Is_File;

    function Is_Misc_Simple_Object (This_Object : in Object) return Boolean is
    begin
        return ((Object_Info.Any.Is_Simple_Object (This_Object)) and then
                (not Object_Info.Any.Is_Ada_Unit (This_Object)) and then
                (not Object_Info.Any.Is_File (This_Object)));
    end Is_Misc_Simple_Object;

    function Is_Frozen (This_Object : in Object) return Boolean is
    begin
        return (Directory_Tools.Any_Object.Is_Frozen (This_Object));
    end Is_Frozen;

    function Contains_Libraries
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Library, Transitive));
    end Contains_Libraries;

    function Contains_Directories
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Directory, Transitive));
    end Contains_Directories;

    function Contains_Worlds
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.World, Transitive));
    end Contains_Worlds;

    function Contains_Simple_Worlds
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Simple_World,
                    Transitive));
    end Contains_Simple_Worlds;

    function Contains_Subsystems
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Subsystem, Transitive));
    end Contains_Subsystems;

    function Contains_Views
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object,  
                    Object_Info.Utilities.View, Transitive));
    end Contains_Views;

    function Contains_Spec_Views
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Spec_View, Transitive));
    end Contains_Spec_Views;

    function Contains_Load_Views
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Load_View, Transitive));
    end Contains_Load_Views;

    function Contains_Working_Load_Views
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Working_Load_View,
                    Transitive));
    end Contains_Working_Load_Views;

    function Contains_Released_Load_Views
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Released_Load_View,
                    Transitive));
    end Contains_Released_Load_Views;

    function Contains_Code_Only_Load_Views
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Code_Only_Load_View,
                    Transitive));
    end Contains_Code_Only_Load_Views;

    function Contains_Combined_Views
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Combined_View,
                    Transitive));
    end Contains_Combined_Views;

    function Contains_Simple_Objects
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Simple_Object,
                    Transitive));
    end Contains_Simple_Objects;

    function Contains_Ada_Units
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Ada_Unit, Transitive));
    end Contains_Ada_Units;

    function Contains_Files
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.File, Transitive));
    end Contains_Files;

    function Contains_Misc_Simple_Objects
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Misc_Simple_Object,
                    Transitive));
    end Contains_Misc_Simple_Objects;

    function Contains_Frozen_Objects
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Contains_Objects
                   (This_Object, Object_Info.Utilities.Frozen, Transitive));
    end Contains_Frozen_Objects;

    function Is_Contained_By_Directory
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.Directory, Transitive));
    end Is_Contained_By_Directory;

    function Is_Contained_By_World
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.World, Transitive));
    end Is_Contained_By_World;

    function Is_Contained_By_Simple_World
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.Simple_World,
                    Transitive));
    end Is_Contained_By_Simple_World;

    function Is_Contained_By_Subsystem
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.Subsystem, Transitive));
    end Is_Contained_By_Subsystem;

    function Is_Contained_By_View
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.View, Transitive));
    end Is_Contained_By_View;

    function Is_Contained_By_Spec_View
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.Spec_View, Transitive));
    end Is_Contained_By_Spec_View;

    function Is_Contained_By_Load_View
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.Load_View, Transitive));
    end Is_Contained_By_Load_View;

    function Is_Contained_By_Working_Load_View
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.Working_Load_View,
                    Transitive));
    end Is_Contained_By_Working_Load_View;

    function Is_Contained_By_Released_Load_View
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.Released_Load_View,
                    Transitive));
    end Is_Contained_By_Released_Load_View;

    function Is_Contained_By_Code_Only_Load_View
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.Code_Only_Load_View,
                    Transitive));
    end Is_Contained_By_Code_Only_Load_View;

    function Is_Contained_By_Combined_View
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.Combined_View,
                    Transitive));
    end Is_Contained_By_Combined_View;

    function Is_Contained_By_Units_Directory_Of_View
                (This_Object : in Object; Transitive : in Boolean := True)
                return Boolean is
    begin
        return (Object_Info.Utilities.Is_Enclosed
                   (This_Object, Object_Info.Utilities.Units_Directory_Of_View,
                    Transitive));
    end Is_Contained_By_Units_Directory_Of_View;

    function Directory_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return Directory is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.Directory, Transitive));
    end Directory_Containing;

    function World_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return World is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.World, Transitive));
    end World_Containing;

    function Simple_World_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return Simple_World is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.Simple_World,
                    Transitive));
    end Simple_World_Containing;

    function Subsystem_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return Subsystem is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.Subsystem, Transitive));
    end Subsystem_Containing;

    function View_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return View is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.View, Transitive));
    end View_Containing;

    function Spec_View_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return Spec_View is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.Spec_View, Transitive));
    end Spec_View_Containing;

    function Load_View_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return Load_View is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.Load_View, Transitive));
    end Load_View_Containing;

    function Working_Load_View_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return Working_Load_View is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.Working_Load_View,
                    Transitive));
    end Working_Load_View_Containing;

    function Released_Load_View_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return Released_Load_View is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.Released_Load_View,
                    Transitive));
    end Released_Load_View_Containing;

    function Code_Only_Load_View_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return Code_Only_Load_View is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.Code_Only_Load_View,
                    Transitive));
    end Code_Only_Load_View_Containing;

    function Combined_View_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return Combined_View is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.Combined_View,
                    Transitive));
    end Combined_View_Containing;

    function Units_Directory_Containing
                (This_Object : in Object; Transitive : in Boolean := True)
                return Units_Directory is
    begin
        return (Object_Info.Utilities.Enclosing_For
                   (This_Object, Object_Info.Utilities.Units_Directory_Of_View,
                    Transitive));
    end Units_Directory_Containing;

    function All_Objects_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Objects is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Anything, Transitive));
    end All_Objects_In;

    function Libraries_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Libraries is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Library, Transitive));
    end Libraries_In;

    function Directories_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Directories is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Directory, Transitive));
    end Directories_In;

    function Worlds_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Worlds is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.World, Transitive));
    end Worlds_In;

    function Simple_Worlds_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Simple_Worlds is
    begin  
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Simple_World,
                    Transitive));
    end Simple_Worlds_In;

    function Subsystems_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Subsystems is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Subsystem, Transitive));
    end Subsystems_In;

    function Views_In (This_Object : in Object; Transitive : in Boolean := True)
                      return Views is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.View, Transitive));
    end Views_In;

    function Spec_Views_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Spec_Views is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Spec_View, Transitive));
    end Spec_Views_In;

    function Load_Views_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Load_Views is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Load_View, Transitive));
    end Load_Views_In;

    function Working_Load_Views_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Working_Load_Views is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Working_Load_View,
                    Transitive));
    end Working_Load_Views_In;

    function Released_Load_Views_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Released_Load_Views is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Released_Load_View,
                    Transitive));
    end Released_Load_Views_In;

    function Code_Only_Load_Views_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Code_Only_Load_Views is
    begin  
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Code_Only_Load_View,
                    Transitive));
    end Code_Only_Load_Views_In;

    function Combined_Views_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Combined_Views is
    begin  
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Combined_View,
                    Transitive));
    end Combined_Views_In;

    function Simple_Objects_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Simple_Objects is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Simple_Object,
                    Transitive));
    end Simple_Objects_In;

    function Ada_Units_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Ada_Units is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Ada_Unit, Transitive));
    end Ada_Units_In;

    function Files_In (This_Object : in Object; Transitive : in Boolean := True)
                      return Files is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.File, Transitive));
    end Files_In;

    function Misc_Simple_Objects_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Misc_Simple_Objects is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Misc_Simple_Object,
                    Transitive));
    end Misc_Simple_Objects_In;

    function Frozen_Objects_In
                (This_Object : in Object; Transitive : in Boolean := True)
                return Frozen_Objects is
    begin
        return (Object_Info.Utilities.Objects_In
                   (This_Object, Object_Info.Utilities.Frozen, Transitive));
    end Frozen_Objects_In;

end Any;