namespace Microsoft.CodeAnalysis.Syntax; internal static class SyntaxListBuilderExtensions { public static SyntaxTokenList ToTokenList(this SyntaxListBuilder? builder) { if (builder == null || builder.Count == 0) { return default(SyntaxTokenList); } return new SyntaxTokenList(null, builder.ToListNode(), 0, 0); } public static SyntaxList ToList(this SyntaxListBuilder? builder) { GreenNode greenNode = builder?.ToListNode(); if (greenNode == null) { return default(SyntaxList); } return new SyntaxList(greenNode.CreateRed()); } public static SyntaxList ToList(this SyntaxListBuilder? builder) where TNode : SyntaxNode { GreenNode greenNode = builder?.ToListNode(); if (greenNode == null) { return default(SyntaxList); } return new SyntaxList(greenNode.CreateRed()); } public static SeparatedSyntaxList ToSeparatedList(this SyntaxListBuilder? builder) where TNode : SyntaxNode { GreenNode greenNode = builder?.ToListNode(); if (greenNode == null) { return default(SeparatedSyntaxList); } return new SeparatedSyntaxList(new SyntaxNodeOrTokenList(greenNode.CreateRed(), 0)); } }