pragma Style_Checks ("NM32766");
pragma Warnings (Off, "use of an anonymous access type allocator");
pragma Warnings (Off, "unnecessary with of ancestor");

---------------------------------------------------
--  This file has been generated automatically from
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/CORBA_IDL/orb.idl
--  by IAC (IDL to Ada Compiler) 25.0w (rev. unknown).
---------------------------------------------------
--  NOTE: If you modify this file by hand, your
--  changes will be lost when you re-run the
--  IDL to Ada compiler.
---------------------------------------------------

with CORBA.Object;
with CORBA.Repository_Root.Container;
with CORBA.Repository_Root.IRObject;
with CORBA.Repository_Root.Contained;
with CORBA.Repository_Root.IDLType;

package body CORBA.Repository_Root.AbstractInterfaceDef is

   ----------
   -- Is_A --
   ----------

   function Is_A
     (Self : Ref;
      Logical_Type_Id : PolyORB.Std.String)
     return CORBA.Boolean
   is
   begin
      return (False
         or else (Is_A
           (Logical_Type_Id)
            or else CORBA.Object.Is_A
              (CORBA.Object.Ref
                 (Self),
               Logical_Type_Id)));
   end Is_A;

   ----------
   -- Is_A --
   ----------

   function Is_A
     (Logical_Type_Id : PolyORB.Std.String)
     return CORBA.Boolean
   is
   begin
      return (((CORBA.Is_Equivalent
        (Logical_Type_Id,
         CORBA.Repository_Root.AbstractInterfaceDef.Repository_Id)
         or else CORBA.Is_Equivalent
           (Logical_Type_Id,
            "IDL:omg.org/CORBA/Object:1.0"))
         or else (CORBA.Is_Equivalent
           (Logical_Type_Id,
            CORBA.Repository_Root.InterfaceDef.Repository_Id)
            or else (((((CORBA.Is_Equivalent
              (Logical_Type_Id,
               CORBA.Repository_Root.Container.Repository_Id)
               or else CORBA.Is_Equivalent
                 (Logical_Type_Id,
                  CORBA.Repository_Root.IRObject.Repository_Id))
               or else CORBA.Is_Equivalent
                 (Logical_Type_Id,
                  CORBA.Repository_Root.Contained.Repository_Id))
               or else CORBA.Is_Equivalent
                 (Logical_Type_Id,
                  CORBA.Repository_Root.IRObject.Repository_Id))
               or else CORBA.Is_Equivalent
                 (Logical_Type_Id,
                  CORBA.Repository_Root.IDLType.Repository_Id))
               or else CORBA.Is_Equivalent
                 (Logical_Type_Id,
                  CORBA.Repository_Root.IRObject.Repository_Id))))
         or else False);
   end Is_A;

end CORBA.Repository_Root.AbstractInterfaceDef;
