-- Autogenerated by MSIL2Ada v. 2
-- By: Martin C. Carlisle
--     Department of Computer Science
--     US Air Force Academy
--     carlislem@acm.org
pragma Extensions_Allowed(On);
with MSSyst.Object;
with MSIL_Types;
use MSIL_Types;
with type MSSyst.Object.Ref is access;
with type MSSyst.Type_k.Ref is access;
with type MSSyst.Reflection.FieldInfo.Ref_array is access;
with type MSSyst.RuntimeTypeHandle.Valuetype is tagged;
with type MSSyst.String.Ref is access;
with MSSyst.ValueType;
package MSSyst.TypedReference is
   type ValueType is new MSSyst.ValueType.Typ with null record;
   type ValueType_Arr is array (Natural range <>) of ValueType; -- start at 0
   type ValueType_Array is access all ValueType_Arr;
   type ValueType_addrof is access all ValueType;
   type ValueType_array_addrof is access all ValueType_Array;
   function Equals(
      This : Valuetype;
      o : MSSyst.Object.Ref) return Standard.Boolean;
   function GetHashCode(
      This : Valuetype) return Integer;
   function GetTargetType(
      value : MSSyst.TypedReference.Valuetype) return MSSyst.Type_k.Ref;
   function MakeTypedReference(
      target : MSSyst.Object.Ref;
      flds : MSSyst.Reflection.FieldInfo.Ref_array) return MSSyst.TypedReference.Valuetype;
   procedure SetTypedReference(
      target : MSSyst.TypedReference.Valuetype;
      value : MSSyst.Object.Ref);
   function TargetTypeToken(
      value : MSSyst.TypedReference.Valuetype) return MSSyst.RuntimeTypeHandle.Valuetype;
   function ToObject(
      value : MSSyst.TypedReference.Valuetype) return MSSyst.Object.Ref;
private
   pragma Import(MSIL,Equals,"Equals");
   pragma Import(MSIL,GetHashCode,"GetHashCode");
   pragma Import(MSIL,GetTargetType,"GetTargetType");
   pragma Import(MSIL,MakeTypedReference,"MakeTypedReference");
   pragma Import(MSIL,SetTypedReference,"SetTypedReference");
   pragma Import(MSIL,TargetTypeToken,"TargetTypeToken");
   pragma Import(MSIL,ToObject,"ToObject");
end MSSyst.TypedReference;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.TypedReference,
   ".ver 1.0.5000.0 .publickeytoken=( 96 9d b8 05 3d 33 22 ac )",
   "[mscorlib]System.TypedReference");
