Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there.
Changed by [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=75454 --- shadow/75454 2005-07-11 12:25:31.000000000 -0400 +++ shadow/75454.tmp.28381 2005-07-11 13:13:01.000000000 -0400 @@ -1,13 +1,13 @@ Bug#: 75454 Product: Mono: Runtime Version: 1.0 OS: unknown OS Details: mono svn -Status: RESOLVED -Resolution: FIXED +Status: REOPENED +Resolution: Severity: Unknown Priority: Normal Component: misc AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] QAContact: [EMAIL PROTECTED] @@ -97,6 +97,67 @@ created type also working, since some MS.NET bugs are triggered when using original TypeBuilder. I hope there is no reason why GetGenericTypeDefinition or BindGenericParameters should not work... ------- Additional Comments From [EMAIL PROTECTED] 2005-07-11 12:25 ------- Fixed in SVN. + +------- Additional Comments From [EMAIL PROTECTED] 2005-07-11 13:13 ------- +One more thing... When I change assembly attribute to Save only, it +crashes again: + +using System; +using System.Reflection; +using System.Reflection.Emit; + +class M { + static void Main () { + /// INITIAL ASSEMBLY CREATION + AssemblyName name = new AssemblyName(); + name.Name = "o"; + AssemblyBuilder builder = +AppDomain.CurrentDomain.DefineDynamicAssembly(name, +AssemblyBuilderAccess.Save); + ModuleBuilder mb = builder.DefineDynamicModule("out", +"bla.dll"); + /////////// + + + /// abstract class Func ['a] + /// { public abstract apply () : 'a; } + TypeBuilder func = mb.DefineType("Func", +TypeAttributes.Abstract); + GenericTypeParameterBuilder[] func_gp = +func.DefineGenericParameters("'a"); + func.SetParent(typeof (object)); + + MethodBuilder func_apply = func.DefineMethod("apply", +MethodAttributes.Public | MethodAttributes.Abstract | +MethodAttributes.Virtual, + func_gp[0], new Type[] { }); + + Type func_c = func.CreateType(); + + /// class Prox : Func[string] { + /// } + + // this causes NullRef in BindGenericParameters + Type func_string = func_c.MakeGenericType(new Type [] { +typeof(string)}); + + // and this causes InvalidOperation in +GetGenericTypeDefinition() + //Type func_string = func_c.GetGenericTypeDefinition +().MakeGenericType(new Type [] { typeof(string)}); + + TypeBuilder prox = mb.DefineType("Prox", +TypeAttributes.Public); + prox.SetParent(func_string); + + prox.CreateType(); + + builder.Save("bla.dll"); + } +} + + + _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
