interface ITest1
{
}
interface ITest2 { }
struct Test1 : ITest1
{
}
[System.Runtime.CompilerServices.MethodImplAttribute(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
static bool test1<T>(ref T value)
{
return value is ITest1;
}
[System.Runtime.CompilerServices.MethodImplAttribute(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
static bool test2<T>(ref T value)
{
return value is ITest2;
}
[System.Runtime.CompilerServices.MethodImplAttribute(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
static object Test<T>(ref T value)
{
bool flag = true;
int x = 0;
int y = 0;
while (flag)
{
if (test1(ref value))
x++;
if (test2(ref value))
y++;
}
return null;
}
interface ITest1
{
}
interface ITest2 { }
struct Test1 : ITest1
{
}
[System.Runtime.CompilerServices.MethodImplAttribute(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
static bool test1<T>(ref T value)
{
return value is ITest1;
}
[System.Runtime.CompilerServices.MethodImplAttribute(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
static bool test2<T>(ref T value)
{
return value is ITest2;
}
[System.Runtime.CompilerServices.MethodImplAttribute(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
static object Test<T>(ref T value)
{
bool flag = true;
int x = 0;
int y = 0;
while (flag)
{
if (test1(ref value))
x++;
if (test2(ref value))
y++;
}
return null;
}