a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
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 + ".");
|
|
}
|
|
}
|