public override SyntaxNode VisitInterpolatedStringText(InterpolatedStringTextSyntax node) { if (node.ToString().IndexOf('\n') >= 0) { node = node.WithAdditionalAnnotations(LayoutAnnotations.MultiLineConstructAnnotation); } return base.VisitInterpolatedStringText(node); }
SyntaxNode CreateFormatString(InterpolatedStringTextSyntax node) { var sb = new StringBuilder(); sb.Append("string.Format (\""); var stringExpressions = new List<ExpressionSyntax>(); var parent = node.Parent as InterpolatedStringExpressionSyntax; foreach (var child in parent.Contents) { var kind = child.Kind(); switch (kind) { case SyntaxKind.InterpolatedStringText: sb.Append(((InterpolatedStringTextSyntax)child).TextToken.Value); break; case SyntaxKind.Interpolation: var interpolation = child as InterpolationSyntax; sb.Append("{"); int index = -1; for (int i = 0; i < stringExpressions.Count; i++) { if (stringExpressions[i].IsEquivalentTo(interpolation.Expression)) { index = i; break; } } if (index < 0) { index = stringExpressions.Count; stringExpressions.Add(interpolation.Expression); } sb.Append(index); if (interpolation.FormatClause != null) sb.Append(interpolation.FormatClause); sb.Append("}"); break; } } sb.Append("\""); for (int i = 0; i < stringExpressions.Count; i++) { sb.Append(", "); sb.Append(stringExpressions[i]); } sb.Append(")"); return SyntaxFactory.ParseExpression(sb.ToString()).WithAdditionalAnnotations(Formatter.Annotation); }
/// <summary> /// /// </summary> /// <param name="node"></param> public override sealed void VisitInterpolatedStringText(InterpolatedStringTextSyntax node) { this.OnNodeVisited(node, this.type.IsInstanceOfType(node)); base.VisitInterpolatedStringText(node); }
//public override void VisitInterpolatedStringExpression(InterpolatedStringExpressionSyntax node) //{ // base.VisitInterpolatedStringExpression(node); //} public override void VisitInterpolatedStringText(InterpolatedStringTextSyntax node) { //base.VisitInterpolatedStringText(node); }
/// <summary> /// /// </summary> /// <param name="node"></param> public override sealed void VisitInterpolatedStringText(InterpolatedStringTextSyntax node) { this.OnNodeVisited(node); if (!this.traverseRootOnly) base.VisitInterpolatedStringText(node); }
public override void VisitInterpolatedStringText(InterpolatedStringTextSyntax node) { Log(node, "Unsupported Syntax !"); }
public override Ust VisitInterpolatedStringText(InterpolatedStringTextSyntax node) { var result = new StringLiteral(node.ToString(), node.GetTextSpan()); return(result); }
// // Summary: // Called when the visitor visits a InterpolatedStringTextSyntax node. public virtual void VisitInterpolatedStringText(InterpolatedStringTextSyntax node);
private static object StringSyntaxValueFromInterpolated(InterpolatedStringTextSyntax interpolatedStringText) => interpolatedStringText.Parent is InterpolatedStringExpressionSyntax interpolatedStringExpression?
public override void VisitInterpolatedStringText(InterpolatedStringTextSyntax node) { throw new NotSupportedException(); }