C#
C# Mutations
StatementBlock
Before
if (x) { y(); }
After
if (x) {}
Condition
Before
if (x) { y(); }
After
if (true) { y(); }
if (false) { y(); }
BinaryOp - Add
Before
int x = a + b;
After
int x = a - b;
int x = a * b;
BinaryOp - And
Before
bool x = a && b;
After
bool x = a || b;
BinaryOp - BitAnd
Before
int x = a & b;
After
int x = a | b;
int x = a ^ b;
BinaryOp - BitOr
Before
int x = a | b;
After
int x = a & b;
int x = a ^ b;
BinaryOp - BitXor
Before
int x = a ^ b;
After
int x = a & b;
int x = a | b;
BinaryOp - Div
Before
int x = a / b;
After
int x = a * b;
int x = a - b;
BinaryOp - Eq
Before
bool x = a == b;
After
bool x = a != b;
BinaryOp - Gt
Before
bool x = a > b;
After
bool x = a <= b;
bool x = a >= b;
BinaryOp - Gte
Before
bool x = a >= b;
After
bool x = a < b;
bool x = a > b;
BinaryOp - Lt
Before
bool x = a < b;
After
bool x = a >= b;
bool x = a <= b;
BinaryOp - Lte
Before
bool x = a <= b;
After
bool x = a > b;
bool x = a < b;
BinaryOp - Mul
Before
int x = a * b;
After
int x = a / b;
int x = a + b;
BinaryOp - Or
Before
bool x = a || b;
After
bool x = a && b;
BinaryOp - Rem
Before
int x = a % b;
After
int x = a * b;
int x = a / b;
BinaryOp - Shl
Before
int x = a << b;
After
int x = a >> b;
BinaryOp - Shr
Before
int x = a >> b;
After
int x = a << b;
BinaryOp - Ne
Before
bool x = a != b;
After
bool x = a == b;
BinaryOp - Sub
Before
int x = a - b;
After
int x = a + b;
int x = a / b;
Assign - AddAssign
Before
x += 1;
After
x -= 1;
x = 1;
Assign - BitAndAssign
Before
x &= 1;
After
x |= 1;
x = 1;
Assign - BitOrAssign
Before
x |= 1;
After
x &= 1;
x = 1;
Assign - BitXorAssign
Before
x ^= 1;
After
x &= 1;
x = 1;
Assign - DivAssign
Before
x /= 1;
After
x *= 1;
x = 1;
Assign - MulAssign
Before
x *= 1;
After
x /= 1;
x = 1;
Assign - NormalAssign
Before
x = 1;
After
x += 1;
x -= 1;
Assign - RemAssign
Before
x %= 1;
After
x *= 1;
x = 1;
Assign - ShlAssign
Before
x <<= 1;
After
x >>= 1;
x = 1;
Assign - ShrAssign
Before
x >>= 1;
After
x <<= 1;
x = 1;
Assign - SubAssign
Before
x -= 1;
After
x += 1;
x = 1;
ArrayDecl - Inline
Before
int[] x = {1, 2, 3};
After
int[] x = {};
Literal - BoolTrue
Before
bool x = true;
After
bool x = false;
Literal - BoolFalse
Before
bool x = false;
After
bool x = true;
Literal - String
Before
string x = "hello";
After
string x = "";
Literal - EmptyString
Before
string x = "";
After
string x = "bough";
Literal - Number
Before
x = 1;
After
x = 0;
x = 1;
x = -1;
UnaryNot
Before
bool x = !y;
After
bool x = y;
SwitchCase
Before
switch (x) {
case 1:
break;
case 2:
break;
}
After
switch (x) {
case 2:
break;
}
switch (x) {
case 1:
break;
}