/// <summary> /// Traverse C# tokens, convert C# syntax to (Iron)Python syntax /// </summary> /// <param name="token"></param> /// <returns></returns> private static string processRawToken(PythonWriter parentWriter, SyntaxToken token) { PythonWriter pyWriter = new PythonWriter(parentWriter.IndentSize); switch (token.Kind()) { case SyntaxKind.ThisKeyword: // replace 'this' keyword to python self pyWriter.Append("self"); break; case SyntaxKind.NewKeyword: // no 'new' keyword // skip break; case SyntaxKind.SemicolonToken: // semicolon -> end of expression pyWriter.NewLine(); break; case SyntaxKind.NumericLiteralToken: // Float in C#, like '6F' pyWriter.Append(token.Text.Replace("F", "")); break; case SyntaxKind.OpenBraceToken: // Left Brace in C# // skip break; case SyntaxKind.CloseBraceToken: // Right Brace in C# // skip break; case SyntaxKind.TrueKeyword: pyWriter.Append("True"); break; case SyntaxKind.FalseKeyword: pyWriter.Append("False"); break; default: pyWriter.Append(token.Text); break; } return(pyWriter.ToString()); }