Author: ankit
Date: 2006-01-14 15:34:07 -0500 (Sat, 14 Jan 2006)
New Revision: 55581

Added:
   trunk/mcs/ilasm/tests/test-override-1.il
   trunk/mcs/ilasm/tests/test-override-2.il
Modified:
   trunk/mcs/ilasm/parser/ChangeLog
   trunk/mcs/ilasm/parser/ILParser.jay
   trunk/mcs/ilasm/tests/ChangeLog
Log:
In ilasm/tests:

        * test-override-1.il:
        * test-override-2.il: New. Test for 'full' syntax of specifying
        overrides. (.override method ..full sig.. )

In ilasm/parser:

        * ILParser.jay (method_decl): Add new "full" syntax specifying 
overrides.


Modified: trunk/mcs/ilasm/parser/ChangeLog
===================================================================
--- trunk/mcs/ilasm/parser/ChangeLog    2006-01-14 19:57:17 UTC (rev 55580)
+++ trunk/mcs/ilasm/parser/ChangeLog    2006-01-14 20:34:07 UTC (rev 55581)
@@ -1,3 +1,7 @@
+2006-01-15  Ankit Jain  <[EMAIL PROTECTED]>
+
+       * ILParser.jay (method_decl): Add new "full" syntax specifying 
overrides.
+
 2006-01-13  Ankit Jain  <[EMAIL PROTECTED]>
 
        * ILParser.jay: Update to use codegen.GetTypeRef instead of creating

Modified: trunk/mcs/ilasm/parser/ILParser.jay
===================================================================
--- trunk/mcs/ilasm/parser/ILParser.jay 2006-01-14 19:57:17 UTC (rev 55580)
+++ trunk/mcs/ilasm/parser/ILParser.jay 2006-01-14 20:34:07 UTC (rev 55581)
@@ -2019,6 +2019,11 @@
                                         (BaseTypeRef) $2, (string) $4);
                                 
                           }
+                       | D_OVERRIDE K_METHOD method_ref
+                          {
+                               codegen.CurrentTypeDef.AddOverride 
(codegen.CurrentMethodDef.Signature,
+                                       (BaseMethodRef) $3);
+                          }
                        | scope_block
                        | D_PARAM OPEN_BRACKET int32 CLOSE_BRACKET init_opt
                           {

Modified: trunk/mcs/ilasm/tests/ChangeLog
===================================================================
--- trunk/mcs/ilasm/tests/ChangeLog     2006-01-14 19:57:17 UTC (rev 55580)
+++ trunk/mcs/ilasm/tests/ChangeLog     2006-01-14 20:34:07 UTC (rev 55581)
@@ -1,3 +1,9 @@
+2006-01-15  Ankit Jain  <[EMAIL PROTECTED]>
+
+       * test-override-1.il:
+       * test-override-2.il: New. Test for 'full' syntax of specifying
+       overrides. (.override method ..full sig.. )
+
 2006-01-14  Ankit Jain  <[EMAIL PROTECTED]>
 
        * gen-instr1.il: New. Test for using GenericParams as operands to

Added: trunk/mcs/ilasm/tests/test-override-1.il
===================================================================
--- trunk/mcs/ilasm/tests/test-override-1.il    2006-01-14 19:57:17 UTC (rev 
55580)
+++ trunk/mcs/ilasm/tests/test-override-1.il    2006-01-14 20:34:07 UTC (rev 
55581)
@@ -0,0 +1,53 @@
+// Test for "full" syntax of specifying overrides.
+// This has non-generic types & methods
+
+.assembly extern mscorlib
+{
+  .ver 2:0:0:0
+}
+.assembly 'test-override-1'
+{
+  .custom instance void class 
[mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor()
 =  (
+               01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78   
+               63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01       ) 
+
+  .custom instance void class 
[mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32)
 =  (01 00 08 00 00 00 00 00 ) 
+
+  .ver  0:0:0:0
+}
+.module 'test-override-1.dll'
+
+  .class private auto ansi beforefieldinit test
+       extends [mscorlib]System.Object
+       implements IFoo  {
+    
+    .method public final  virtual  hidebysig  newslot 
+           instance default void bar (string si)  cil managed 
+    {
+       .override method instance void class IFoo::foo(string)
+       
+       .maxstack 8
+       IL_0000:  nop 
+       IL_0001:  ret 
+    } 
+    
+    .method public hidebysig  specialname  rtspecialname 
+           instance default void .ctor ()  cil managed 
+    {
+       .maxstack 8
+       IL_0000:  ldarg.0 
+       IL_0001:  call instance void object::.ctor()
+       IL_0006:  ret 
+    } 
+
+  } 
+
+  .class interface private auto ansi abstract IFoo
+  {
+    .method public virtual  hidebysig  newslot  abstract 
+           instance default void foo (string s)  cil managed 
+    {
+        
+    } 
+  } 
+

Added: trunk/mcs/ilasm/tests/test-override-2.il
===================================================================
--- trunk/mcs/ilasm/tests/test-override-2.il    2006-01-14 19:57:17 UTC (rev 
55580)
+++ trunk/mcs/ilasm/tests/test-override-2.il    2006-01-14 20:34:07 UTC (rev 
55581)
@@ -0,0 +1,52 @@
+// Test for "full" syntax of specifying overrides.
+// This has method in a generic type
+
+.assembly extern mscorlib
+{
+  .ver 2:0:0:0
+}
+.assembly 'test-override-2'
+{
+  .custom instance void class 
[mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor()
 =  (
+               01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78   // 
....T..WrapNonEx
+               63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01       ) // 
ceptionThrows.
+
+  .custom instance void class 
[mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32)
 =  (01 00 08 00 00 00 00 00 ) // ........
+
+  .ver  0:0:0:0
+}
+.module 'test-override-2.dll'
+
+
+  .class private auto ansi beforefieldinit test
+       extends [mscorlib]System.Object
+       implements class IFoo`1<string>  {
+
+    .method public final  virtual  hidebysig  newslot 
+           instance default void foo (class IFoo`1<string> _f)  cil managed 
+    {
+       .override method instance void class IFoo`1<string>::foo(class 
IFoo`1<string>)
+       .maxstack 8
+       IL_0000:  nop 
+       IL_0001:  ret 
+    }
+
+    .method public hidebysig  specialname  rtspecialname 
+           instance default void .ctor ()  cil managed 
+    {
+       .maxstack 8
+       IL_0000:  ldarg.0 
+       IL_0001:  call instance void object::.ctor()
+       IL_0006:  ret 
+    }
+
+  }
+
+  .class interface private auto ansi abstract IFoo`1<T>
+  {
+    .method public virtual  hidebysig  newslot  abstract 
+           instance default void foo (class IFoo`1<!T> _f)  cil managed 
+    {
+    }
+
+  }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to