Ruby
Ruby Mutations
StatementBlock
Before
def foo
puts "hello"
end
After
def foo
nil
end
Condition
Before
if x > 0
puts x
end
After
if true
puts x
end
if false
puts x
end
BinaryOp - Add
Before
x = a + b
After
x = a - b
x = a * b
BinaryOp - And
Before
x = a && b
After
x = a || b
BinaryOp - BitAnd
Before
x = a & b
After
x = a | b
x = a ^ b
BinaryOp - BitOr
Before
x = a | b
After
x = a & b
x = a ^ b
BinaryOp - BitXor
Before
x = a ^ b
After
x = a & b
x = a | b
BinaryOp - Div
Before
x = a / b
After
x = a * b
x = a - b
BinaryOp - Eq
Before
x = a == b
After
x = a != b
BinaryOp - Gt
Before
x = a > b
After
x = a <= b
x = a >= b
BinaryOp - Gte
Before
x = a >= b
After
x = a < b
x = a > b
BinaryOp - Lt
Before
x = a < b
After
x = a >= b
x = a <= b
BinaryOp - Lte
Before
x = a <= b
After
x = a > b
x = a < b
BinaryOp - Mul
Before
x = a * b
After
x = a / b
x = a + b
BinaryOp - Or
Before
x = a || b
After
x = a && b
BinaryOp - Rem
Before
x = a % b
After
x = a * b
x = a / b
BinaryOp - Shl
Before
x = a << b
After
x = a >> b
BinaryOp - Shr
Before
x = a >> b
After
x = a << b
BinaryOp - Ne
Before
x = a != b
After
x = a == b
BinaryOp - Sub
Before
x = a - b
After
x = a + b
x = a / b
Assign - AddAssign
Before
x += y
After
x -= y
x = y
Assign - BitAndAssign
Before
x &= y
After
x |= y
x = y
Assign - BitOrAssign
Before
x |= y
After
x &= y
x = y
Assign - BitXorAssign
Before
x ^= y
After
x &= y
x = y
Assign - DivAssign
Before
x /= y
After
x *= y
x = y
Assign - MulAssign
Before
x *= y
After
x /= y
x = y
Assign - NormalAssign
Before
x = y
After
x += y
x -= y
Assign - RemAssign
Before
x %= y
After
x *= y
x = y
Assign - ShlAssign
Before
x <<= y
After
x >>= y
x = y
Assign - ShrAssign
Before
x >>= y
After
x <<= y
x = y
Assign - SubAssign
Before
x -= y
After
x += y
x = y
ArrayDecl - Inline
Before
x = [1, 2, 3]
After
x = []
Literal - BoolTrue
Before
x = true
After
x = false
Literal - BoolFalse
Before
x = false
After
x = true
Literal - String
Before
x = "hello"
After
x = ""
Literal - EmptyString
Before
x = ""
After
x = "bough"
Literal - Number
Before
x = 42
After
x = 0
x = 1
x = -1
x = Float::INFINITY
x = -Float::INFINITY
x = Float::NAN
DictDecl
Before
x = {a: 1, b: 2}
After
x = {}
UnaryNot
Before
x = !y
After
x = y
SwitchCase
Before
case x
when 1
"one"
when 2
"two"
end
After
case x
when 2
"two"
end
case x
when 1
"one"
end