* cli-tables-tests.md: New test for method abstract + final.
Tests #534175.
svn path=/trunk/mono/; revision=141081
+2009-09-01 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * metadata-verify.c (verify_method_table): Check for abstract + final.
+ Fixes #534175.
+
2009-09-01 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c (verify_class_fields): Check for duplicate fields.
if (flags & METHOD_ATTRIBUTE_ABSTRACT) {
if (flags & METHOD_ATTRIBUTE_PINVOKE_IMPL)
ADD_ERROR (ctx, g_strdup_printf ("Invalid method row %d is Abstract and PinvokeImpl", i));
+ if (flags & METHOD_ATTRIBUTE_FINAL)
+ ADD_ERROR (ctx, g_strdup_printf ("Invalid method row %d is Abstract and Final", i));
if (!(flags & METHOD_ATTRIBUTE_VIRTUAL))
ADD_ERROR (ctx, g_strdup_printf ("Invalid method row %d is Abstract but not Virtual", i));
}
+2009-09-01 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * cli-tables-tests.md: New test for method abstract + final.
+ Tests #534175.
+
2009-09-01 Rodrigo Kumpera <rkumpera@novell.com>
* Makefile: Fix makefile.
#pinvoke must be static
invalid offset table-row ( 6 5 ) + 6 set-ushort 0x2086
+
+ #abstract + final (set to public virtual final newslot abstract)
+ invalid offset table-row ( 6 7 ) + 6 set-ushort 0x0566
}
methoddef-table-global-methods {