public override void VisitExpressionStatement(ExpressionStatementSyntax node)
{
// hack: Console.WriteLine
var s = node.Expression.GetText().ToString().Trim();
if (s.StartsWith("Console.WriteLine"))
{
var ise = node.Expression as InvocationExpressionSyntax;
var args = ise.ArgumentList;
cb.AppendWithIndent("cout << ")
.Append(args.GetText().ToString().Trim('(', ')').Replace(" + ", " << ").Replace("+", " << "))
.AppendLine(" << endl;");
}
else if (s.StartsWith("Environment.Exit"))
{
var ise = node.Expression as InvocationExpressionSyntax;
var args = ise.ArgumentList;
cb.AppendWithIndent("exit(")
.Append(args.GetText().ToString().Trim('(', ')'))
.AppendLine(");");
}
else
{
base.VisitExpressionStatement(node);
}
}