Beispiel #1
0
        private static void WriteLiteralExpression(BoundLiteralExpression node, IndentedTextWriter writer)
        {
            var value = node.Value.ToString();

            if (node.Type == TypeSymbol.Bool)
            {
                writer.WriteKeyword((bool)node.Value ? SyntaxKind.TrueKeyword : SyntaxKind.FalseKeyword);
            }
            else if (node.Type == TypeSymbol.Int || node.Type == TypeSymbol.Float || node.Type == TypeSymbol.Byte)
            {
                writer.WriteNumber(value);
            }
            else if (node.Type == TypeSymbol.String)
            {
                value = "\"" + value.Replace("\"", "\"\"") + "\"";
                writer.WriteString(value);
            }
            else
            {
                throw new Exception($"Unexpected type {node.Type}");
            }
        }
Beispiel #2
0
 protected virtual BoundExpression RewriteLiteralExpression(BoundLiteralExpression node)
 {
     return(node);
 }