-- 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.CodeDom.Compiler.GeneratorSupport is
   type ValueType is (
      ArraysOfArrays,
      EntryPointMethod,
      GotoStatements,
      MultidimensionalArrays,
      StaticConstructors,
      TryCatchStatements,
      ReturnTypeAttributes,
      DeclareValueTypes,
      DeclareEnums,
      DeclareDelegates,
      DeclareInterfaces,
      DeclareEvents,
      AssemblyAttributes,
      ParameterAttributes,
      ReferenceParameters,
      ChainedConstructorArguments,
      NestedTypes,
      MultipleInterfaceMembers,
      PublicStaticMembers,
      ComplexExpressions,
      Win32Resources);
   pragma Convention (MSIL, ValueType);
   for ValueType use (
      ArraysOfArrays =>  1,
      EntryPointMethod =>  2,
      GotoStatements =>  4,
      MultidimensionalArrays =>  8,
      StaticConstructors =>  16,
      TryCatchStatements =>  32,
      ReturnTypeAttributes =>  64,
      DeclareValueTypes =>  128,
      DeclareEnums =>  256,
      DeclareDelegates =>  512,
      DeclareInterfaces =>  1024,
      DeclareEvents =>  2048,
      AssemblyAttributes =>  4096,
      ParameterAttributes =>  8192,
      ReferenceParameters =>  16384,
      ChainedConstructorArguments =>  32768,
      NestedTypes =>  65536,
      MultipleInterfaceMembers =>  131072,
      PublicStaticMembers =>  262144,
      ComplexExpressions =>  524288,
      Win32Resources =>  1048576);
   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 "+" (L,R : Valuetype) return Valuetype;
   pragma Import (MSIL, "+", "+");
   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.CodeDom.Compiler.GeneratorSupport;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.CodeDom.Compiler.GeneratorSupport,
   ".ver 1:0:3300:0 .publickeytoken=( b7 7a 5c 56 19 34 e0 89 )",
   "[System]System.CodeDom.Compiler.GeneratorSupport");
