public static void Transpile(this Syntax.NewExpressionSyntax newExpressionNode, ref StringBuilder sb, out bool isString) { _ = newExpressionNode ?? throw new ArgumentNullException(nameof(newExpressionNode)); newExpressionNode.Expression.Transpile(ref sb, out isString); if (newExpressionNode.EmptyExpressionTail is null) { newExpressionNode.ExpressionTail.BinaryOperatorNode.Transpile(isString, ref sb); newExpressionNode.ExpressionTail.ExpressionNode.Transpile(ref sb); } }
public static ExpressionSyntax Transpile(this Syntax.NewExpressionSyntax newExpressionNode) { _ = newExpressionNode ?? throw new ArgumentNullException(nameof(newExpressionNode)); if (newExpressionNode.EmptyExpressionTail is null) { return(SyntaxFactory.BinaryExpression( newExpressionNode.ExpressionTail.BinaryOperatorNode.Transpile(), newExpressionNode.Expression.Transpile(), newExpressionNode.ExpressionTail.ExpressionNode.Transpile())); } else { return(newExpressionNode.Expression.Transpile()); } }
public static ExpressionSyntax Transpile(this Syntax.NewExpressionSyntax newExpressionNode, out bool @const) { _ = newExpressionNode ?? throw new ArgumentNullException(nameof(newExpressionNode)); if (newExpressionNode.EmptyExpressionTail is null) { var binaryExpression = SyntaxFactory.BinaryExpression( newExpressionNode.ExpressionTail.BinaryOperatorNode.Transpile(), newExpressionNode.Expression.Transpile(out var leftConst), newExpressionNode.ExpressionTail.ExpressionNode.Transpile(out var rightConst)); @const = leftConst && rightConst; return(binaryExpression); } else { return(newExpressionNode.Expression.Transpile(out @const)); } }