BinaryOperatorType GetRelatedBinaryOperatorForInPlaceOperator(BinaryOperatorType op)
{
switch (op)
{
case BinaryOperatorType.InPlaceAddition:
return BinaryOperatorType.Addition;
case BinaryOperatorType.InPlaceSubtraction:
return BinaryOperatorType.Subtraction;
case BinaryOperatorType.InPlaceMultiply:
return BinaryOperatorType.Multiply;
case BinaryOperatorType.InPlaceDivision:
return BinaryOperatorType.Division;
case BinaryOperatorType.InPlaceModulus:
return BinaryOperatorType.Modulus;
case BinaryOperatorType.InPlaceBitwiseAnd:
return BinaryOperatorType.BitwiseAnd;
case BinaryOperatorType.InPlaceBitwiseOr:
return BinaryOperatorType.BitwiseOr;
case BinaryOperatorType.InPlaceExclusiveOr:
return BinaryOperatorType.ExclusiveOr;
case BinaryOperatorType.InPlaceShiftLeft:
return BinaryOperatorType.ShiftLeft;
case BinaryOperatorType.InPlaceShiftRight:
return BinaryOperatorType.ShiftRight;
}
throw new ArgumentException("op");
}