CommutativeOperator() public static method

Produces a choice pattern for expr1 op expr2 or expr2 op expr1.
public static CommutativeOperator ( Expression expr1, BinaryOperatorType op, Expression expr2 ) : Expression
expr1 Expression
op BinaryOperatorType
expr2 Expression
return Expression
        public ConvertIfToNullCoalescingAction()
        {
            var leftPattern       = PatternHelper.OptionalParentheses(new AnyNode(comparedNodeGroupName));
            var rightPattern      = PatternHelper.OptionalParentheses(new NullReferenceExpression());
            var choicePattern     = new Choice();
            var equalityPattern   = PatternHelper.CommutativeOperator(leftPattern, BinaryOperatorType.Equality, rightPattern);
            var inequalityPattern = PatternHelper.CommutativeOperator(leftPattern.Clone(), BinaryOperatorType.InEquality, rightPattern.Clone());

            choicePattern.Add(equalityPattern);
            choicePattern.Add(inequalityPattern);
            var namedChoicePattern = new NamedNode(expressionGroupName, choicePattern);

            ActionPattern = PatternHelper.OptionalParentheses(namedChoicePattern);
        }
 public CheckNullVisitor(ParameterDeclaration parameter)
 {
     pattern = PatternHelper.CommutativeOperator(new IdentifierExpression(parameter.Name), BinaryOperatorType.Any, new NullReferenceExpression());
 }