-- 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.IComparable.Ref is access;
with type MSSyst.IFormattable.Ref is access;
with type MSSyst.IConvertible.Ref is access;
with type MSSyst.Object.Ref is access;
with type MSSyst.Type_k.Ref is access;
with MSSyst.TypeCode;
with type MSSyst.String.Ref is access;
with type MSSyst.IFormatProvider.Ref is access;
package MSSyst.Reflection.Emit.StackBehaviour is
   type ValueType is (
      Pop0,
      Pop1,
      Pop1_pop1,
      Popi,
      Popi_pop1,
      Popi_popi,
      Popi_popi8,
      Popi_popi_popi,
      Popi_popr4,
      Popi_popr8,
      Popref,
      Popref_pop1,
      Popref_popi,
      Popref_popi_popi,
      Popref_popi_popi8,
      Popref_popi_popr4,
      Popref_popi_popr8,
      Popref_popi_popref,
      Push0,
      Push1,
      Push1_push1,
      Pushi,
      Pushi8,
      Pushr4,
      Pushr8,
      Pushref,
      Varpop,
      Varpush);
   pragma Convention (MSIL, ValueType);
   for ValueType use (
      Pop0 =>  0,
      Pop1 =>  1,
      Pop1_pop1 =>  2,
      Popi =>  3,
      Popi_pop1 =>  4,
      Popi_popi =>  5,
      Popi_popi8 =>  6,
      Popi_popi_popi =>  7,
      Popi_popr4 =>  8,
      Popi_popr8 =>  9,
      Popref =>  10,
      Popref_pop1 =>  11,
      Popref_popi =>  12,
      Popref_popi_popi =>  13,
      Popref_popi_popi8 =>  14,
      Popref_popi_popr4 =>  15,
      Popref_popi_popr8 =>  16,
      Popref_popi_popref =>  17,
      Push0 =>  18,
      Push1 =>  19,
      Push1_push1 =>  20,
      Pushi =>  21,
      Pushi8 =>  22,
      Pushr4 =>  23,
      Pushr8 =>  24,
      Pushref =>  25,
      Varpop =>  26,
      Varpush =>  27);
   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 CompareTo(
      This : Valuetype;
      target : MSSyst.Object.Ref) return Integer;
   function Equals(
      This : Valuetype;
      obj : MSSyst.Object.Ref) return Standard.Boolean;
   function GetHashCode(
      This : Valuetype) return Integer;
   function GetType(
      This : Valuetype) return MSSyst.Type_k.Ref;
   function GetTypeCode(
      This : Valuetype) return MSSyst.TypeCode.Valuetype;
   function ToString(
      This : Valuetype;
      format : MSSyst.String.Ref) return MSSyst.String.Ref;
   function ToString(
      This : Valuetype) return MSSyst.String.Ref;
   function ToString(
      This : Valuetype;
      format : MSSyst.String.Ref;
      provider : MSSyst.IFormatProvider.Ref) return MSSyst.String.Ref;
   function ToString(
      This : Valuetype;
      provider : MSSyst.IFormatProvider.Ref) return MSSyst.String.Ref;
private
   pragma Import(MSIL,CompareTo,"CompareTo");
   pragma Import(MSIL,Equals,"Equals");
   pragma Import(MSIL,GetHashCode,"GetHashCode");
   pragma Import(MSIL,GetType,"GetType");
   pragma Import(MSIL,GetTypeCode,"GetTypeCode");
   pragma Import(MSIL,ToString,"ToString");
end MSSyst.Reflection.Emit.StackBehaviour;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Reflection.Emit.StackBehaviour,
   ".ver 1:0:5000:0 .publickeytoken=( b7 7a 5c 56 19 34 e0 89 )",
   "[mscorlib]System.Reflection.Emit.StackBehaviour");
