2010-04-01 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Wed, 31 Mar 2010 23:09:53 +0000 (23:09 -0000)
committerZoltan Varga <vargaz@gmail.com>
Wed, 31 Mar 2010 23:09:53 +0000 (23:09 -0000)
* TypeBuilder.cs (GetField): Avoid a crash if this is called on a
FieldOnTypeBuilderInst. Fixes #586944.

svn path=/trunk/mcs/; revision=154580

mcs/class/corlib/System.Reflection.Emit/ChangeLog
mcs/class/corlib/System.Reflection.Emit/TypeBuilder.cs

index 50b3b614cda7e4cfd99fe423ef783920e8bd00d4..09c606202305b373c37f27fad77a4066a823d15e 100644 (file)
@@ -1,3 +1,8 @@
+2010-04-01  Zoltan Varga  <vargaz@gmail.com>
+
+       * TypeBuilder.cs (GetField): Avoid a crash if this is called on a
+       FieldOnTypeBuilderInst. Fixes #586944.
+
 2010-03-30  Zoltan Varga  <vargaz@gmail.com>
 
        * ModuleBuilder.cs (DefinedType): Lookup inside the name_cache before creating
index 2b74fbeeca1a82c70120d9e325f4e60b506c4e27..a4b7185428dd8c16214bd05e96894e3151b483c3 100644 (file)
@@ -1864,6 +1864,9 @@ namespace System.Reflection.Emit
                        if (type.IsGenericTypeDefinition)
                                throw new ArgumentException ("Type cannot be a generic type definition", "type");
 
+                       if (field is FieldOnTypeBuilderInst)
+                               throw new ArgumentException ("The specified field must be declared on a generic type definition.", "field");
+
                        FieldInfo res = type.GetField (field);
                        if (res == null)
                                throw new System.Exception ("field not found");