private EvaluatorState EvaluateBinaryExpression(BinaryExpression operatorExpression) { var @operator = operatorExpression.Operator; var lhs = Visit(operatorExpression.Left); var rhs = Visit(operatorExpression.Right); if (context.IsExplain) { PrintAsBitSet((int)long.Parse(lhs.Value)); printer.Print(new Run() { Text = " " + operatorExpression.Operator, Color = RunColor.Red }); PrintAsBitSet((int)long.Parse(rhs.Value)); } var result = EvalBinaryAsNumber(@operator, lhs, rhs); return(new EvaluatorState() { IsSigned = lhs.IsSigned, Type = lhs.Type, Value = result.ToString() }); }
private void EvaluateBinaryExpression(BinaryExpression operatorExpression) { Visit(operatorExpression.Left); Visit(operatorExpression.Right); }