I notice the $PRIVATE$ field in the Inner struct (whatever that is) in the dissasembly seems to violate the size of 0 bytes.
c# source:
public class Generic<T> {
public struct Inner {
}
}
public class Test {
public static void Main ()
{
Generic<int>.Inner inner;
}
}mono error:
** ERROR **: unknown operator: stobj aborting... Aborted
monodis output (some comments removed):
.assembly extern mscorlib
{
.ver 2:0:3600:0
}
.assembly 'LookupTable2'
{
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module LookupTable2.exe
.class public auto ansi beforefieldinit 'Generic!1'<T> extends [mscorlib]System.Object {
// method Generic!1::instance default void .ctor ()
.method public hidebysig specialname rtspecialname
instance default void .ctor () cil managed
{
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void valuetype [mscorlib]System.Object::.ctor()
IL_0006: ret
}
.class nested public sequential ansi sealed beforefieldinit Inner<T>
extends [mscorlib]System.ValueType
{
.pack 0
.size 0
.field private unsigned int8 $PRIVATE$} // end of class Inner
} // end of class Generic!1
.class public auto ansi beforefieldinit Test
extends [mscorlib]System.Object
{//method Test::instance default void .ctor ()
.method public hidebysig specialname rtspecialname
instance default void .ctor () cil managed
{
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void valuetype [mscorlib]System.Object::.ctor()
IL_0006: ret
}
// method Test::default void Main ()
.method public static hidebysig
default void Main () cil managed
{
.entrypoint
.maxstack 0
.locals init (
valuetype 'Generic!1/Inner'<int32> V_0)
IL_0000: ret
}} // end of class Test
_______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
