Browse Source

2003-07-24 Miguel de Icaza <[email protected]>

	* Type.cs: Added generics stubs.

2003-07-24  Miguel de Icaza  <[email protected]>

	* ArrayList.cs: Removed MonoTODO.

2003-07-24  Miguel de Icaza  <[email protected]>

	* TypeDelegator.cs: Added generics stubs.

2003-07-24  Miguel de Icaza  <[email protected]>

	* TypeBuilder.cs: Added generics stubs.

	* EnumBuilder.cs: Added generics  stubs, changed bracing style for
	routines.

svn path=/trunk/mcs/; revision=16621
Miguel de Icaza 22 years ago
parent
commit
13c56abe99

+ 0 - 1
mcs/class/corlib/System.Collections/ArrayList.cs

@@ -15,7 +15,6 @@ using System;
 
 namespace System.Collections {
 
-	[MonoTODO ("add versioning, changing the arraylist should invalidate all enumerators")]
 	[Serializable]
 	public class ArrayList : IList, ICollection, IEnumerable, ICloneable {
 

+ 4 - 0
mcs/class/corlib/System.Collections/ChangeLog

@@ -1,3 +1,7 @@
+2003-07-24  Miguel de Icaza  <[email protected]>
+
+	* ArrayList.cs: Removed MonoTODO.
+
 2003-07-07  Gonzalo Paniagua Javier <[email protected]>
 
 	* Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.

+ 1 - 1
mcs/class/corlib/System.IO/StreamReader.cs

@@ -283,7 +283,7 @@ namespace System.IO {
 				decoded_count += decoder.GetChars (input_buffer, parse_start, cbEncoded, decoded_buffer, 0);
 				parse_start = 0;
 			} while (decoded_count == 0);
-			
+
 			return decoded_count;
 		}
 

+ 7 - 0
mcs/class/corlib/System.Reflection.Emit/ChangeLog

@@ -1,3 +1,10 @@
+2003-07-24  Miguel de Icaza  <[email protected]>
+
+	* TypeBuilder.cs: Added generics stubs.
+
+	* EnumBuilder.cs: Added generics  stubs, changed bracing style for
+	routines.
+
 2003-07-23  Duncan Mak  <[email protected]>
 
 	* SignatureHelper.cs: This class does not have the

+ 156 - 50
mcs/class/corlib/System.Reflection.Emit/EnumBuilder.cs

@@ -19,46 +19,46 @@ namespace System.Reflection.Emit {
 		CustomAttributeBuilder[] cattrs;
 
 		public override Assembly Assembly {
-			get {return null;}
+			get { return null; }
 		}
 		public override string AssemblyQualifiedName {
-			get {return null;}
+			get { return null; }
 		}
 		public override Type BaseType {
-			get {return null;}
+			get { return null; }
 		}
 		public override Type DeclaringType {
-			get {return null;}
+			get { return null; }
 		}
 		public override string FullName {
-			get {return null;}
+			get { return null; }
 		}
 		public override Guid GUID {
-			get {return Guid.Empty;}
+			get { return Guid.Empty; }
 		}
 		public override Module Module {
-			get {return null;}
+			get { return null; }
 		}
 		public override string Name {
-			get {return null;}
+			get { return null; }
 		}
 		public override string Namespace {
-			get {return null;}
+			get { return null; }
 		}
 		public override Type ReflectedType {
-			get {return null;}
+			get { return null; }
 		}
 		public override RuntimeTypeHandle TypeHandle {
-			get {return new RuntimeTypeHandle ();}
+			get { return new RuntimeTypeHandle (); }
 		}
 		public TypeToken TypeToken {
-			get {return new TypeToken ();}
+			get { return new TypeToken (); }
 		}
 		public FieldBuilder UnderlyingField {
-			get {return null;}
+			get { return null; }
 		}
 		public override Type UnderlyingSystemType {
-			get {return null;}
+			get { return null; }
 		}
 /* no need to override
 		public override MemberTypes MemberType {
@@ -66,111 +66,189 @@ namespace System.Reflection.Emit {
 		}
 */
 
-		internal EnumBuilder (ModuleBuilder mb, string name, TypeAttributes visibility, Type underlyingType) {
+		internal EnumBuilder (ModuleBuilder mb, string name, TypeAttributes visibility, Type underlyingType)
+		{
 		}
-		public Type CreateType() {
+
+		public Type CreateType ()
+		{
 			return null;
 		}
-		public FieldBuilder DefineLiteral( string literalName, object literalValue) {
+
+		public FieldBuilder DefineLiteral (string literalName, object literalValue)
+		{
 			return null;
 		}
-		protected override TypeAttributes GetAttributeFlagsImpl() {
+		protected override TypeAttributes GetAttributeFlagsImpl ()
+		{
 			return (TypeAttributes)0;
 		}
-		protected override ConstructorInfo GetConstructorImpl( BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers) {
+
+		protected override ConstructorInfo GetConstructorImpl (
+			BindingFlags bindingAttr, Binder binder, CallingConventions cc,
+			Type[] types, ParameterModifier[] modifiers)
+		{
 			return null;
 		}
-		public override ConstructorInfo[] GetConstructors( BindingFlags bindingAttr) {
+
+		public override ConstructorInfo[] GetConstructors( BindingFlags bindingAttr)
+		{
 			return null;
 		}
-		public override object[] GetCustomAttributes(bool inherit) {
+
+		public override object[] GetCustomAttributes(bool inherit)
+		{
 			return null;
 		}
-		public override object[] GetCustomAttributes(Type attributeType, bool inherit) {
+
+		public override object[] GetCustomAttributes(Type attributeType, bool inherit)
+		{
 			return null;
 		}
-		public override Type GetElementType() {
+
+		public override Type GetElementType()
+		{
 			throw new NotSupportedException ();
 		}
-		public override EventInfo GetEvent( string name, BindingFlags bindingAttr) {
+
+		public override EventInfo GetEvent( string name, BindingFlags bindingAttr)
+		{
 			return null;
 		}
-		public override EventInfo[] GetEvents() {
+
+		public override EventInfo[] GetEvents()
+		{
 			return null;
 		}
-		public override EventInfo[] GetEvents( BindingFlags bindingAttr) {
+
+		public override EventInfo[] GetEvents( BindingFlags bindingAttr)
+		{
 			return null;
 		}
-		public override FieldInfo GetField( string name, BindingFlags bindingAttr) {
+
+		public override FieldInfo GetField( string name, BindingFlags bindingAttr)
+		{
 			return null;
 		}
-		public override FieldInfo[] GetFields( BindingFlags bindingAttr) {
+
+		public override FieldInfo[] GetFields( BindingFlags bindingAttr)
+		{
 			return null;
 		}
-		public override Type GetInterface( string name, bool ignoreCase) {
+
+		public override Type GetInterface( string name, bool ignoreCase)
+		{
 			return null;
 		}
-		public override InterfaceMapping GetInterfaceMap( Type interfaceType) {
+
+		public override InterfaceMapping GetInterfaceMap( Type interfaceType)
+		{
 			throw new NotImplementedException ();
 		}
-		public override Type[] GetInterfaces() {
+
+		public override Type[] GetInterfaces()
+		{
 			return null;
 		}
-		public override MemberInfo[] GetMember( string name, MemberTypes type, BindingFlags bindingAttr) {
+
+		public override MemberInfo[] GetMember( string name, MemberTypes type, BindingFlags bindingAttr)
+		{
 			return null;
 		}
-		public override MemberInfo[] GetMembers( BindingFlags bindingAttr) {
+
+		public override MemberInfo[] GetMembers( BindingFlags bindingAttr)
+		{
 			return null;
 		}
-		protected override MethodInfo GetMethodImpl( string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers) {
+
+		protected override MethodInfo GetMethodImpl (
+			string name, BindingFlags bindingAttr, Binder binder,
+			CallingConventions callConvention, Type[] types,
+			ParameterModifier[] modifiers)
+		{
 			// FIXME
 			return null;
 		}
 		
-		public override MethodInfo[] GetMethods( BindingFlags bindingAttr) {
+		public override MethodInfo[] GetMethods( BindingFlags bindingAttr)
+		{
 			return null;
 		}
-		public override Type GetNestedType( string name, BindingFlags bindingAttr) {
+
+		public override Type GetNestedType( string name, BindingFlags bindingAttr)
+		{
 			return null;
 		}
-		public override Type[] GetNestedTypes( BindingFlags bindingAttr) {
+
+		public override Type[] GetNestedTypes( BindingFlags bindingAttr)
+		{
 			return null;
 		}
-		public override PropertyInfo[] GetProperties( BindingFlags bindingAttr) {
+
+		public override PropertyInfo[] GetProperties( BindingFlags bindingAttr)
+			{
 			return null;
 		}
-		protected override PropertyInfo GetPropertyImpl( string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers) {
+
+		protected override PropertyInfo GetPropertyImpl (
+			string name, BindingFlags bindingAttr, Binder binder,
+			Type returnType, Type[] types,
+			ParameterModifier[] modifiers)
+		{
 			return null;
 		}
-		protected override bool HasElementTypeImpl() {
+
+		protected override bool HasElementTypeImpl()
+			{
 			throw new NotSupportedException ();
 		}
-		public override object InvokeMember( string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters)  {
+
+		public override object InvokeMember (
+			string name, BindingFlags invokeAttr, Binder binder,
+			object target, object[] args,
+			ParameterModifier[] modifiers, CultureInfo culture,
+			string[] namedParameters)
+		{
 			return null;
 		}
-		protected override bool IsArrayImpl() {
+
+		protected override bool IsArrayImpl()
+		{
 			return false;
 		}
-		protected override bool IsByRefImpl() {
+
+		protected override bool IsByRefImpl()
+		{
 			return false;
 		}
-		protected override bool IsCOMObjectImpl() {
+
+		protected override bool IsCOMObjectImpl()
+		{
 			return false;
 		}
-		protected override bool IsPointerImpl() {
+
+		protected override bool IsPointerImpl()
+		{
 			return false;
 		}
-		protected override bool IsPrimitiveImpl() {
+
+		protected override bool IsPrimitiveImpl()
+		{
 			return false;
 		}
-		protected override bool IsValueTypeImpl() {
+		
+		protected override bool IsValueTypeImpl()
+		{
 			return true;
 		}
-		public override bool IsDefined( Type attributeType, bool inherit) {
+
+		public override bool IsDefined( Type attributeType, bool inherit)
+		{
 			return false;
 		}
 		
-		public void SetCustomAttribute( CustomAttributeBuilder customBuilder) {
+		public void SetCustomAttribute( CustomAttributeBuilder customBuilder)
+		{
 			if (cattrs != null) {
 				CustomAttributeBuilder[] new_array = new CustomAttributeBuilder [cattrs.Length + 1];
 				cattrs.CopyTo (new_array, 0);
@@ -181,8 +259,36 @@ namespace System.Reflection.Emit {
 				cattrs [0] = customBuilder;
 			}
 		}
-		public void SetCustomAttribute( ConstructorInfo con, byte[] binaryAttribute) {
+
+		public void SetCustomAttribute( ConstructorInfo con, byte[] binaryAttribute)
+		{
 			SetCustomAttribute (new CustomAttributeBuilder (con, binaryAttribute));
 		}
+
+#if GENERICS
+		public override bool HasGenericParameters {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override bool HasUnboundGenericParameters {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override bool IsUnboundGenericParameter {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override int GenericParameterPosition {
+			get {
+				throw new Exception ("Unimplemented");
+			}
+		}
+#endif
 	}
 }

+ 28 - 1
mcs/class/corlib/System.Reflection.Emit/TypeBuilder.cs

@@ -881,7 +881,8 @@ namespace System.Reflection.Emit {
 			if (is_created)
 				throw not_after_created ();
 
-			TypeBuilder datablobtype = DefineNestedType ("$ArrayType$"+InitializedDataCount.ToString(),
+			string s = "$ArrayType$"+InitializedDataCount.ToString();
+			TypeBuilder datablobtype = DefineNestedType (s,
 				TypeAttributes.NestedPrivate|TypeAttributes.ExplicitLayout|TypeAttributes.Sealed,
 				pmodule.assemblyb.corlib_value_type, null, PackingSize.Size1, data.Length);
 			datablobtype.CreateType ();
@@ -952,5 +953,31 @@ namespace System.Reflection.Emit {
 			if (name.IndexOf ((char)0) != -1)
 				throw new ArgumentException (argName, "Illegal name.");
 		}
+
+#if GENERICS
+		public override bool HasGenericParameters {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override bool HasUnboundGenericParameters {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override bool IsUnboundGenericParameter {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override int GenericParameterPosition {
+			get {
+				throw new Exception ("Unimplemented");
+			}
+		}
+#endif
 	}
 }

+ 4 - 0
mcs/class/corlib/System.Reflection/ChangeLog

@@ -1,3 +1,7 @@
+2003-07-24  Miguel de Icaza  <[email protected]>
+
+	* TypeDelegator.cs: Added generics stubs.
+
 2003-07-21  Lluis Sanchez Gual  <[email protected]>
 
 	* ParameterInfo.cs: Position is zero-based in ParameterInfo.

+ 93 - 38
mcs/class/corlib/System.Reflection/TypeDelegator.cs

@@ -17,63 +17,69 @@ namespace System.Reflection {
 		protected TypeDelegator () {
 		}
 
-		public TypeDelegator( Type delegatingType) {
+		public TypeDelegator( Type delegatingType)
+		{
 			if (delegatingType == null)
 				throw new ArgumentNullException ("delegatingType must be non-null");
 			typeImpl = delegatingType;
 		}
 
 		public override Assembly Assembly {
-			get {return typeImpl.Assembly;}
+			get { return typeImpl.Assembly; }
 		}
 
 		public override string AssemblyQualifiedName {
-			get {return typeImpl.AssemblyQualifiedName;}
+			get { return typeImpl.AssemblyQualifiedName; }
 		}
 
 		public override Type BaseType {
-			get {return typeImpl.BaseType;}
+			get { return typeImpl.BaseType; }
 		}
 
 		public override string FullName {
-			get {return typeImpl.FullName;}
+			get { return typeImpl.FullName; }
 		}
 
 		public override Guid GUID {
-			get {return typeImpl.GUID;}
+			get { return typeImpl.GUID; }
 		}
 
 		public override Module Module {
-			get {return typeImpl.Module;}
+			get { return typeImpl.Module; }
 		}
 
 		public override string Name {
-			get {return typeImpl.Name;}
+			get { return typeImpl.Name; }
 		}
 
 		public override string Namespace {
-			get {return typeImpl.Namespace;}
+			get { return typeImpl.Namespace; }
 		}
 
 		public override RuntimeTypeHandle TypeHandle {
-			get {return typeImpl.TypeHandle;}
+			get { return typeImpl.TypeHandle; }
 		}
 
 		public override Type UnderlyingSystemType {
-			get {return typeImpl.UnderlyingSystemType;}
+			get { return typeImpl.UnderlyingSystemType; }
 		}
 
-		protected override TypeAttributes GetAttributeFlagsImpl () {
+		protected override TypeAttributes GetAttributeFlagsImpl ()
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.GetAttributeFlagsImpl ();
 		}
 		
-		protected override ConstructorInfo GetConstructorImpl (BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers) {
+		protected override ConstructorInfo GetConstructorImpl (
+			BindingFlags bindingAttr, Binder binder, CallingConventions cc,
+			Type[] types, ParameterModifier[] modifiers)
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.GetConstructorImpl (bindingAttr, binder, callConvention, types, modifiers);
 		}
 
-		public override ConstructorInfo[] GetConstructors( BindingFlags bindingAttr) {
+		public override ConstructorInfo[] GetConstructors( BindingFlags bindingAttr)
+		{
 			return typeImpl.GetConstructors (bindingAttr);
 		}
 
@@ -87,77 +93,95 @@ namespace System.Reflection {
 			return typeImpl.GetCustomAttributes (attributeType, inherit);
 		}
 
-		public override Type GetElementType() {
+		public override Type GetElementType()
+		{
 			return typeImpl.GetElementType ();
 		}
 
-		public override EventInfo GetEvent( string name, BindingFlags bindingAttr) {
+		public override EventInfo GetEvent( string name, BindingFlags bindingAttr)
+		{
 			return typeImpl.GetEvent (name, bindingAttr);
 		}
 
-		public override EventInfo[] GetEvents() {
+		public override EventInfo[] GetEvents()
+		{
 			return GetEvents (BindingFlags.Public);
 		}
 
-		public override EventInfo[] GetEvents( BindingFlags bindingAttr) {
+		public override EventInfo[] GetEvents (BindingFlags bindingAttr)
+		{
 			return typeImpl.GetEvents (bindingAttr);
 		}
 
-		public override FieldInfo GetField( string name, BindingFlags bindingAttr) {
+		public override FieldInfo GetField (string name, BindingFlags bindingAttr)
+		{
 			return typeImpl.GetField (name, bindingAttr);
 		}
 
-		public override FieldInfo[] GetFields( BindingFlags bindingAttr) {
+		public override FieldInfo[] GetFields( BindingFlags bindingAttr)
+		{
 			return typeImpl.GetFields (bindingAttr);
 		}
 
-		public override Type GetInterface( string name, bool ignoreCase) {
+		public override Type GetInterface( string name, bool ignoreCase)
+		{
 			return typeImpl.GetInterface (name, ignoreCase);
 		}
 
-		public override InterfaceMapping GetInterfaceMap( Type interfaceType) {
+		public override InterfaceMapping GetInterfaceMap( Type interfaceType)
+		{
 			return typeImpl.GetInterfaceMap (interfaceType);
 		}
 		
-		public override Type[] GetInterfaces() {
+		public override Type[] GetInterfaces ()
+		{
 			return typeImpl.GetInterfaces ();
 		}
 
-		public override MemberInfo[] GetMember( string name, MemberTypes type, BindingFlags bindingAttr) {
+		public override MemberInfo[] GetMember( string name, MemberTypes type, BindingFlags bindingAttr)
+		{
 			return typeImpl.GetMember (name, type, bindingAttr);
 		}
 
-		public override MemberInfo[] GetMembers( BindingFlags bindingAttr) {
+		public override MemberInfo[] GetMembers( BindingFlags bindingAttr)
+		{
 			return typeImpl.GetMembers (bindingAttr);
 		}
 
-		protected override MethodInfo GetMethodImpl( string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers) {
+		protected override MethodInfo GetMethodImpl( string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers)
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.GetMethodImpl (name, bindingAttr, binder, callConvention, types, modifiers);
 		}
 
-		public override MethodInfo[] GetMethods( BindingFlags bindingAttr) {
+		public override MethodInfo[] GetMethods( BindingFlags bindingAttr)
+		{
 			return typeImpl.GetMethods (bindingAttr);
 		}
 
-		public override Type GetNestedType( string name, BindingFlags bindingAttr) {
+		public override Type GetNestedType( string name, BindingFlags bindingAttr)
+		{
 			return typeImpl.GetNestedType (name, bindingAttr);
 		}
 
-		public override Type[] GetNestedTypes( BindingFlags bindingAttr) {
+		public override Type[] GetNestedTypes( BindingFlags bindingAttr)
+		{
 			return typeImpl.GetNestedTypes (bindingAttr);
 		}
 
-		public override PropertyInfo[] GetProperties( BindingFlags bindingAttr) {
+		public override PropertyInfo[] GetProperties( BindingFlags bindingAttr)
+		{
 			return typeImpl.GetProperties (bindingAttr);
 		}
 
-		protected override PropertyInfo GetPropertyImpl( string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers) {
+		protected override PropertyInfo GetPropertyImpl( string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers)
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.GetPropertyImpl (name, bindingAttr, bindingAttr, returnType, types, modifiers);
 		}
 
-		protected override bool HasElementTypeImpl() {
+		protected override bool HasElementTypeImpl()
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.HasElementTypeImpl ();
 		}
@@ -166,17 +190,20 @@ namespace System.Reflection {
 			return typeImpl.InvokeMember (name, invokeAttr, binder, target, args, modifiers, culture, namedParameters);
 		}
 
-		protected override bool IsArrayImpl() {
+		protected override bool IsArrayImpl()
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.IsArrayImpl ();
 		}
 
-		protected override bool IsByRefImpl() {
+		protected override bool IsByRefImpl()
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.IsByRefImpl ();
 		}
 
-		protected override bool IsCOMObjectImpl() {
+		protected override bool IsCOMObjectImpl()
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.IsCOMObjectImpl ();
 		}
@@ -185,20 +212,48 @@ namespace System.Reflection {
 			return typeImpl.IsDefined (attributeType, inherit);
 		}
 
-		protected override bool IsPointerImpl() {
+		protected override bool IsPointerImpl()
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.IsPointerImpl ();
 		}
 
-		protected override bool IsPrimitiveImpl() {
+		protected override bool IsPrimitiveImpl()
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.IsPrimitiveImpl ();
 		}
 
-		protected override bool IsValueTypeImpl() {
+		protected override bool IsValueTypeImpl()
+		{
 			throw new NotImplementedException ();
 			//return typeImpl.IsValueTypeImpl ();
 		}
+#if GENERICS
+		public override bool HasGenericParameters {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override bool HasUnboundGenericParameters {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override bool IsUnboundGenericParameter {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override int GenericParameterPosition {
+			get {
+				throw new Exception ("Unimplemented");
+			}
+		}
+#endif
 
 	}
 }

+ 2 - 3
mcs/class/corlib/System/ChangeLog

@@ -1,7 +1,6 @@
-2003-07-24  Duncan Mak  <duncan@ximian.com>
+2003-07-24  Miguel de Icaza  <miguel@ximian.com>
 
-	* Environment.cs (GetFolderPath): Make it not print out CS0162
-	warnings.
+	* Type.cs: Added generics stubs.
 
 2003-07-23  Duncan Mak  <[email protected]>
 

+ 30 - 4
mcs/class/corlib/System/MonoType.cs

@@ -533,9 +533,35 @@ namespace System
 			return info.rank;
 		}
 
-		public void GetObjectData(SerializationInfo info, StreamingContext context)
-		{
-			UnitySerializationHolder.GetTypeData (this, info, context);
-		}
+		public void GetObjectData(SerializationInfo info, StreamingContext context)
+		{
+			UnitySerializationHolder.GetTypeData (this, info, context);
+		}
+
+#if GENERICS
+		public override bool HasGenericParameters {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override bool HasUnboundGenericParameters {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override bool IsUnboundGenericParameter {
+			get {
+				throw new NotImplementedException ();
+			}
+		}
+
+		public override int GenericParameterPosition {
+			get {
+				throw new Exception ("Unimplemented");
+			}
+		}
+#endif
 	}
 }

+ 43 - 0
mcs/class/corlib/System/Type.cs

@@ -928,5 +928,48 @@ namespace System {
 		{
 			return FullName;
 		}
+
+#if GENERICS
+		public Type [] GetGenericParameters ()
+		{
+			if (HasGenericParameters == false)
+				return new Type [0];
+
+			throw new Exception ("Unimplemented");
+		}
+
+		public abstract bool HasGenericParameters {
+			get;
+		}
+
+		public abstract bool HasUnboundGenericParameters {
+			get;
+		}
+
+		public Type GetGenericTypeDefinition ()
+		{
+			throw new Exception ("Unimplemented");
+		}
+
+		public Type IsGenericTypeDefinition ()
+		{
+			throw new Exception ("Unimplemented");
+		}
+
+		public Type BindGenericParameters (Type [] types)
+		{
+			throw new Exception ("Unimplemented");
+		}
+
+		public abstract bool IsUnboundGenericParameter {
+			get;
+		}
+
+		public virtual int GenericParameterPosition {
+			get {
+				throw new Exception ("Unimplemented");
+			}
+		}
+#endif
 	}
 }