| File: IndentedTextWriterExtensions.cs | Web Access |
| Project: src\runtime\src\libraries\System.Runtime.InteropServices\gen\Microsoft.Interop.SourceGeneration\Microsoft.Interop.SourceGeneration.csproj (Microsoft.Interop.SourceGeneration) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.CodeDom.Compiler; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; namespace Microsoft.Interop; public static class IndentedTextWriterExtensions { public static void WriteMultilineNode(this IndentedTextWriter writer, SyntaxNode node) { foreach (SyntaxToken token in node.DescendantTokens()) { foreach (SyntaxTrivia leadingTrivia in token.LeadingTrivia) { if (leadingTrivia.IsKind(SyntaxKind.EndOfLineTrivia)) { writer.WriteLine(); continue; } writer.Write(leadingTrivia.ToString()); } writer.Write(token.Text); foreach (SyntaxTrivia trailingTrivia in token.TrailingTrivia) { if (trailingTrivia.IsKind(SyntaxKind.EndOfLineTrivia)) { writer.WriteLine(); continue; } writer.Write(trailingTrivia.ToString()); } } writer.WriteLine(); } }