private object buildMultiplicitiveOperator(MatchResult result, IProjectionItem leftHand, IProjectionItem rightHand, bool wrap) { MatchResult multiply = result.Matches[SqlGrammar.MultiplicitiveOperator.Multiply]; if (multiply.IsMatch) { Multiplication multiplication = new Multiplication(leftHand, rightHand); multiplication.WrapInParentheses = wrap; return multiplication; } MatchResult divide = result.Matches[SqlGrammar.MultiplicitiveOperator.Divide]; if (divide.IsMatch) { Division division = new Division(leftHand, rightHand); division.WrapInParentheses = wrap; return division; } MatchResult modulo = result.Matches[SqlGrammar.MultiplicitiveOperator.Modulus]; if (modulo.IsMatch) { Modulus modulus = new Modulus(leftHand, rightHand); modulus.WrapInParentheses = wrap; return modulus; } throw new InvalidOperationException(); }
/// <summary> /// Generates the text for a Division builder. /// </summary> /// <param name="item">The Division builder to generate the text for.</param> protected internal override void VisitDivision(Division item) { visitArithmeticExpression(item, "/"); }
/// <summary> /// Visits a Division builder. /// </summary> /// <param name="item">The item to visit.</param> protected internal virtual void VisitDivision(Division item) { }