/// <summary> /// Initializes a new instance of the ArithmeticExpression class. /// </summary> /// <param name="proxy">Proxy object for the expression.</param> /// <param name="type">The type of operation being performed.</param> /// <param name="leftHandSide">The left hand side of the expression.</param> /// <param name="rightHandSide">The right hand side of the expression.</param> internal ArithmeticExpression( CodeUnitProxy proxy, ArithmeticExpressionType type, Expression leftHandSide, Expression rightHandSide) : base(proxy, (int)type) { Param.AssertNotNull(proxy, "proxy"); Param.Ignore(type); Param.AssertNotNull(leftHandSide, "leftHandSide"); Param.AssertNotNull(rightHandSide, "rightHandSide"); CsLanguageService.Debug.Assert(System.Enum.IsDefined(typeof(ArithmeticExpressionType), this.ArithmeticExpressionType), "The type is invalid."); this.leftHandSide.Value = leftHandSide; this.rightHandSide.Value = rightHandSide; }