public override ILExpression BuildNew(PatternMatcher pm) { var res = pm.Operator; res.Arguments.Clear(); if (pm.SimpleLeftOperand) { res.Arguments.Add(pm.SimpleOperand); } res.Arguments.Add(VariableA.BuildNew(pm)); if (pm.B != null) { res.Arguments.Add(VariableB.BuildNew(pm)); } else if (pm.SimpleOperand != null && !pm.SimpleLeftOperand) { res.Arguments.Add(pm.SimpleOperand); } return(res); }