I know this might not be much good to anyone, given that gmcs is still in alpha - but it might be useful as a small test case.
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

Reply via email to