+ public override InterfaceMapping GetInterfaceMap (Type interfaceType)
+ {
+ if (created == null)
+ throw new NotSupportedException ("This method is not implemented for incomplete types.");
+
+ return created.GetInterfaceMap (interfaceType);
+ }
+
+ internal bool is_created {
+ get {
+ return created != null;
+ }
+ }
+
+ private Exception not_supported ()
+ {
+ return new NotSupportedException ("The invoked member is not supported in a dynamic module.");
+ }
+
+ private Exception not_after_created ()
+ {
+ return new InvalidOperationException ("Unable to change after type has been created.");
+ }
+
+ private void check_name (string argName, string name)
+ {
+ if (name == null)
+ throw new ArgumentNullException (argName);
+ if (name == "")
+ throw new ArgumentException (argName, "Empty name is not legal.");
+ if (name.IndexOf ((char)0) != -1)
+ throw new ArgumentException (argName, "Illegal name.");
+ }
+
+ public override String ToString ()
+ {
+ return FullName;
+ }
+
+ [MonoTODO]
+ public override bool IsAssignableFrom (Type c)
+ {
+ return base.IsAssignableFrom (c);
+ }
+
+ [MonoTODO]
+ public override bool IsSubclassOf (Type c)
+ {
+ return base.IsSubclassOf (c);
+ }
+
+#if NET_2_0 || BOOTSTRAP_NET_2_0
+ public override Type[] GetGenericArguments ()
+ {
+ if (generic_params != null)
+ return generic_params;
+
+ throw new InvalidOperationException ();
+ }
+
+ public override Type GetGenericTypeDefinition ()
+ {
+ setup_generic_class (this);
+
+ return base.GetGenericTypeDefinition ();
+ }
+
+ public override bool HasGenericArguments {
+ get {
+ throw new NotImplementedException ();
+ }
+ }
+
+ public override bool ContainsGenericParameters {
+ get {
+ return generic_params != null;
+ }
+ }
+
+ public extern override bool IsGenericParameter {
+ [MethodImplAttribute(MethodImplOptions.InternalCall)]
+ get;
+ }
+
+ public override int GenericParameterPosition {
+ get {
+ throw new NotImplementedException ();
+ }
+ }
+
+ public override MethodInfo DeclaringMethod {
+ get {
+ throw new NotImplementedException ();
+ }
+ }
+
+ public GenericTypeParameterBuilder[] DefineGenericParameters (string[] names)
+ {
+ generic_params = new GenericTypeParameterBuilder [names.Length];
+ for (int i = 0; i < names.Length; i++)
+ generic_params [i] = new GenericTypeParameterBuilder (
+ this, null, names [i], i);
+
+ return generic_params;
+ }
+
+ public MethodBuilder DefineGenericMethod (string name, MethodAttributes attributes)
+ {
+ return DefineMethod (name, attributes, CallingConventions.Standard, null, null);
+ }
+#endif