public static CSharpBitwiseExclusiveOrExpression operator ^(ExpressionBase left, CSharpIExpression right) { ICSharpBitwiseExclusiveOrExpression leftSide = (ICSharpBitwiseExclusiveOrExpression)left.AffixTo(OperatorPrecedences.BitwiseExclusiveOrOperation); ICSharpBitwiseAndExpression rightSide = (ICSharpBitwiseAndExpression)right.AffixTo(OperatorPrecedences.BitwiseAndOperation); return(new CSharpBitwiseExclusiveOrExpression(leftSide, rightSide)); }
public static ExpressionBase operator &(ExpressionBase left, CSharpIExpression right) { if (tfOpCalls.Contains(left)) { tfOpCalls.Remove(left); ICSharpLogicalAndExpression leftSide = (ICSharpLogicalAndExpression)left.AffixTo(OperatorPrecedences.LogicalAndOperation); ICSharpBitwiseOrExpression rightSide = (ICSharpBitwiseOrExpression)right.AffixTo(OperatorPrecedences.BitwiseOrOperation); return(new CSharpLogicalAndExpression(leftSide, rightSide)); } else { ICSharpBitwiseAndExpression leftSide = (ICSharpBitwiseAndExpression)left.AffixTo(OperatorPrecedences.BitwiseAndOperation); ICSharpInequalityExpression rightSide = (ICSharpInequalityExpression)right.AffixTo(OperatorPrecedences.InequalityOperation); return(new CSharpBitwiseAndExpression(leftSide, rightSide)); } }