提交 2170f574 编写于 作者: C CyrusNajmabadi

Share more code, and prevent an allocation when input is null.

上级 d39218a3
......@@ -1365,11 +1365,7 @@ public static SyntaxTriviaList TriviaList(params SyntaxTrivia[] trivias)
/// </summary>
/// <param name="trivias">A sequence of trivia.</param>
public static SyntaxTriviaList TriviaList(IEnumerable<SyntaxTrivia> trivias)
{
var builder = SyntaxTriviaListBuilder.Create();
builder.AddRange(trivias);
return builder.ToList();
}
=> SyntaxTriviaListBuilder.Create(trivias);
/// <summary>
/// Creates an empty separated list.
......
......@@ -21,6 +21,18 @@ public static SyntaxTriviaListBuilder Create()
return new SyntaxTriviaListBuilder(4);
}
public static SyntaxTriviaList Create(IEnumerable<SyntaxTrivia> trivia)
{
if (trivia == null)
{
return new SyntaxTriviaList();
}
var builder = SyntaxTriviaListBuilder.Create();
builder.AddRange(trivia);
return builder.ToList();
}
public int Count
{
get { return _count; }
......
......@@ -825,9 +825,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
''' </summary>
''' <param name="trivias">A sequence of trivia.</param>
Public Shared Function TriviaList(trivias As IEnumerable(Of SyntaxTrivia)) As SyntaxTriviaList
Dim builder = SyntaxTriviaListBuilder.Create()
builder.AddRange(trivias)
Return builder.ToList()
Return SyntaxTriviaListBuilder.Create(trivias)
End Function
''' <summary>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册