Python
Python Mutations
StatementBlock
Before
def f():
pass
After
def f():
pass
Condition
Before
x = True
if x:
pass
After
x = True
if True:
pass
x = True
if False:
pass
BinaryOp - Add
Before
x = 1 + 2
After
x = 1 - 2
x = 1 * 2
BinaryOp - And
Before
a = True
b = False
x = a and b
After
a = True
b = False
x = a or b
BinaryOp - BitAnd
Before
x = 1 & 2
After
x = 1 | 2
x = 1 ^ 2
BinaryOp - BitOr
Before
x = 1 | 2
After
x = 1 & 2
x = 1 ^ 2
BinaryOp - BitXor
Before
x = 1 ^ 2
After
x = 1 & 2
x = 1 | 2
BinaryOp - Div
Before
x = 1 / 2
After
x = 1 * 2
x = 1 - 2
BinaryOp - Eq
Before
a = 1
b = 2
x = a == b
After
a = 1
b = 2
x = a != b
BinaryOp - Exp
Before
x = 2 ** 3
After
x = 2 * 3
x = 2 // 3
BinaryOp - FloorDiv
Before
x = 7 // 2
After
x = 7 / 2
x = 7 * 2
BinaryOp - Gt
Before
a = 1
b = 2
x = a > b
After
a = 1
b = 2
x = a <= b
a = 1
b = 2
x = a >= b
BinaryOp - In
Before
x = needle in haystack
After
x = needle not in haystack
BinaryOp - Is
Before
a = None
x = a is None
After
a = None
x = a is not None
BinaryOp - IsNot
Before
a = None
x = a is not None
After
a = None
x = a is None
BinaryOp - NotIn
Before
a = [1, 2, 3]
x = 4 not in a
After
a = [1, 2, 3]
x = 4 in a
BinaryOp - Gte
Before
a = 1
b = 2
x = a >= b
After
a = 1
b = 2
x = a < b
a = 1
b = 2
x = a > b
BinaryOp - Lt
Before
a = 1
b = 2
x = a < b
After
a = 1
b = 2
x = a >= b
a = 1
b = 2
x = a <= b
BinaryOp - Lte
Before
a = 1
b = 2
x = a <= b
After
a = 1
b = 2
x = a > b
a = 1
b = 2
x = a < b
BinaryOp - Mul
Before
x = 1 * 2
After
x = 1 / 2
x = 1 + 2
BinaryOp - Or
Before
a = True
b = False
x = a or b
After
a = True
b = False
x = a and b
BinaryOp - Rem
Before
x = 1 % 2
After
x = 1 * 2
x = 1 / 2
BinaryOp - Shl
Before
x = 1 << 2
After
x = 1 >> 2
BinaryOp - Shr
Before
x = 1 >> 2
After
x = 1 << 2
BinaryOp - Ne
Before
a = 1
b = 2
x = a != b
After
a = 1
b = 2
x = a == b
BinaryOp - Sub
Before
x = 1 - 2
After
x = 1 + 2
x = 1 / 2
Assign - AddAssign
Before
x = 42
x += 7
After
x = 42
x -= 7
x = 42
x = 7
Assign - BitAndAssign
Before
x = 42
x &= 7
After
x = 42
x |= 7
x = 42
x = 7
Assign - BitOrAssign
Before
x = 42
x |= 7
After
x = 42
x &= 7
x = 42
x = 7
Assign - BitXorAssign
Before
x = 42
x ^= 7
After
x = 42
x &= 7
x = 42
x = 7
Assign - DivAssign
Before
x = 42
x /= 7
After
x = 42
x *= 7
x = 42
x = 7
Assign - ExpAssign
Before
x = 2
x **= 3
After
x = 2
x *= 3
x = 2
x = 3
Assign - FloorDivAssign
Before
x = 7
x //= 2
After
x = 7
x /= 2
x = 7
x = 2
Assign - MulAssign
Before
x = 42
x *= 7
After
x = 42
x /= 7
x = 42
x = 7
Assign - NormalAssign
Before
x = 1
After
x += 1
x -= 1
Assign - RemAssign
Before
x = 42
x %= 7
After
x = 42
x *= 7
x = 42
x = 7
Assign - ShlAssign
Before
x = 42
x <<= 7
After
x = 42
x >>= 7
x = 42
x = 7
Assign - ShrAssign
Before
x = 42
x >>= 7
After
x = 42
x <<= 7
x = 42
x = 7
Assign - SubAssign
Before
x = 42
x -= 7
After
x = 42
x += 7
x = 42
x = 7
ArrayDecl - Inline
Before
[1, 2, 3]
After
[]
Literal - BoolTrue
Before
True
After
False
Literal - BoolFalse
Before
False
After
True
Literal - String
Before
'foo'
After
""
Literal - EmptyString
Before
''
After
"bough"
Literal - Number
Before
123
After
0
1
-1
float('inf')
float('-inf')
float('nan')
DictDecl
Before
{x for x in [1, 2, 3]}
After
{}
TupleDecl
Before
(1, 2, 3)
After
()
Assert
Before
assert True
After
pass
UnaryNot
Before
a = True
x = not a
After
a = True
x = a