linux-packaging-mono/mono/tests/bug-322722_patch_bx.2.cs
Xamarin Public Jenkins (auto-signing) 6bdd276d05 Imported Upstream version 5.0.0.42
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
2017-04-10 11:41:01 +00:00

31 lines
624 B
C#

using System;
using System.Reflection;
using System.Reflection.Emit;
class Driver {
public void AvoidInlining()
{
}
public int Foo()
{
AvoidInlining();
return -99;
}
public static int Main()
{
DynamicMethod method_builder = new DynamicMethod ("WriteHello" , typeof (int), new Type[] {typeof (Driver)}, typeof (Driver));
ILGenerator ilg = method_builder.GetILGenerator ();
ilg.Emit (OpCodes.Ldarg_0);
ilg.Emit (OpCodes.Call, typeof (Driver).GetMethod ("Foo"));
ilg.Emit (OpCodes.Ret);
int res = (int) method_builder.Invoke (null, new object[] {new Driver()});
return res == -99 ? 0 : 1;
}
}