45 lines
652 B
C#
45 lines
652 B
C#
|
// Test for bug 76550 -- EmitAssign getting called
|
||
|
// on captured params.
|
||
|
|
||
|
class Z {
|
||
|
public static void Main ()
|
||
|
{
|
||
|
TestPreinc (1);
|
||
|
TestPostinc (1);
|
||
|
}
|
||
|
|
||
|
delegate void X ();
|
||
|
|
||
|
static void TestPreinc (int i)
|
||
|
{
|
||
|
Assert (i, 1);
|
||
|
X x = delegate {
|
||
|
int z = ++i;
|
||
|
Assert (z, 2);
|
||
|
Assert (i, 2);
|
||
|
};
|
||
|
x ();
|
||
|
Assert (i, 2);
|
||
|
}
|
||
|
|
||
|
static void TestPostinc (int i)
|
||
|
{
|
||
|
Assert (i, 1);
|
||
|
X x = delegate {
|
||
|
int z = i++;
|
||
|
Assert (z, 1);
|
||
|
Assert (i, 2);
|
||
|
};
|
||
|
x ();
|
||
|
Assert (i, 2);
|
||
|
}
|
||
|
|
||
|
static void Assert (int a, int b)
|
||
|
{
|
||
|
if (a == b)
|
||
|
return;
|
||
|
|
||
|
throw new System.Exception ("Incorrect was: " + a + " should have been " + b + ".");
|
||
|
}
|
||
|
}
|