public override void WriteTo(TextWriter output, int indent, bool asPrefix)
{
if (asPrefix) output.Write("(");
Left.WriteTo(output, indent, false);
switch (OpType)
{
case LuaBinaryOperatorType.Add: output.Write(" + "); break;
case LuaBinaryOperatorType.Concatenate: output.Write(" .. "); break;
case LuaBinaryOperatorType.Divide: output.Write(" / "); break;
case LuaBinaryOperatorType.IsEqualTo: output.Write(" == "); break;
case LuaBinaryOperatorType.IsGreaterThan: output.Write(" > "); break;
case LuaBinaryOperatorType.IsGreaterThanOrEqualTo: output.Write(" >= "); break;
case LuaBinaryOperatorType.IsLessThan: output.Write(" < "); break;
case LuaBinaryOperatorType.IsLessThanOrEqualTo: output.Write(" <= "); break;
case LuaBinaryOperatorType.IsNotEqualTo: output.Write(" ~= "); break;
case LuaBinaryOperatorType.LogicalAnd: output.Write(" and "); break;
case LuaBinaryOperatorType.LogicalOr: output.Write(" or "); break;
case LuaBinaryOperatorType.Modulus: output.Write(" % "); break;
case LuaBinaryOperatorType.Multiply: output.Write(" * "); break;
case LuaBinaryOperatorType.RaiseToPower: output.Write(" ^ "); break;
case LuaBinaryOperatorType.Subtract: output.Write(" - "); break;
}
Right.WriteTo(output, indent, false);
if (asPrefix) output.Write(")");
}