示例#1
0
        public static ExpressionSyntax Transpile(this Syntax.ConstantExpressionSyntax constantExpressionNode)
        {
            _ = constantExpressionNode ?? throw new ArgumentNullException(nameof(constantExpressionNode));

            return(constantExpressionNode.IntegerExpressionNode?.Transpile()
                   ?? constantExpressionNode.RealExpressionNode?.TranspileExpression()
                   ?? constantExpressionNode.BooleanExpressionNode?.Transpile()
                   ?? constantExpressionNode.StringExpressionNode?.Transpile()
                   ?? constantExpressionNode.NullExpressionNode.TranspileExpression());
        }
示例#2
0
        public static void Transpile(this Syntax.ConstantExpressionSyntax constantExpressionNode, ref StringBuilder sb, out bool isString)
        {
            _ = constantExpressionNode ?? throw new ArgumentNullException(nameof(constantExpressionNode));

            isString = constantExpressionNode.StringExpressionNode != null;

            constantExpressionNode.IntegerExpressionNode?.Transpile(ref sb);
            constantExpressionNode.RealExpressionNode?.TranspileExpression(ref sb);
            constantExpressionNode.BooleanExpressionNode?.Transpile(ref sb);
            constantExpressionNode.StringExpressionNode?.Transpile(ref sb);
            constantExpressionNode.NullExpressionNode?.TranspileExpression(ref sb);
        }