+
+ public static int test_0_get_current_method () {
+ var m = MethodBase.GetCurrentMethod ();
+#if __MOBILE__
+ var m2 = typeof (AotTests).GetMethod ("test_0_get_current_method");
+#else
+ var m2 = typeof (Tests).GetMethod ("test_0_get_current_method");
+#endif
+ return m == m2 ? 0 : 1;
+ }
+
+ class GetCurrentMethodClass<T> {
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public MethodBase get_current () {
+ return MethodBase.GetCurrentMethod ();
+ }
+ }
+
+ public static int test_0_get_current_method_generic () {
+ var c = new GetCurrentMethodClass<string> ();
+ var m = c.get_current ();
+ var m2 = typeof (GetCurrentMethodClass<>).GetMethod ("get_current");
+ return m == m2 ? 0 : 1;
+ }
+
+ public static int test_0_array_wrappers_runtime_invoke () {
+ string[][] arr = new string [10][];
+ IEnumerable<string[]> iface = arr;
+ var m = typeof(IEnumerable<string[]>).GetMethod ("GetEnumerator");
+ m.Invoke (arr, null);
+ return 0;
+ }