提交 dcbef6e9 编写于 作者: C CyrusNajmabadi

Decouple SyntaxList from SyntaxListBuilder.

上级 8eafb6f4
...@@ -303,22 +303,24 @@ internal SyntaxTriviaList LexSyntaxLeadingTrivia() ...@@ -303,22 +303,24 @@ internal SyntaxTriviaList LexSyntaxLeadingTrivia()
{ {
_leadingTriviaCache.Clear(); _leadingTriviaCache.Clear();
this.LexSyntaxTrivia(afterFirstToken: TextWindow.Position > 0, isTrailing: false, triviaList: ref _leadingTriviaCache); this.LexSyntaxTrivia(afterFirstToken: TextWindow.Position > 0, isTrailing: false, triviaList: ref _leadingTriviaCache);
return new SyntaxTriviaList(default(Microsoft.CodeAnalysis.SyntaxToken), SyntaxList.List(_leadingTriviaCache), 0, 0); return new SyntaxTriviaList(default(Microsoft.CodeAnalysis.SyntaxToken),
_leadingTriviaCache?.ToListNode(), position: 0, index: 0);
} }
internal SyntaxTriviaList LexSyntaxTrailingTrivia() internal SyntaxTriviaList LexSyntaxTrailingTrivia()
{ {
_trailingTriviaCache.Clear(); _trailingTriviaCache.Clear();
this.LexSyntaxTrivia(afterFirstToken: true, isTrailing: true, triviaList: ref _trailingTriviaCache); this.LexSyntaxTrivia(afterFirstToken: true, isTrailing: true, triviaList: ref _trailingTriviaCache);
return new SyntaxTriviaList(default(Microsoft.CodeAnalysis.SyntaxToken), SyntaxList.List(_trailingTriviaCache), 0, 0); return new SyntaxTriviaList(default(Microsoft.CodeAnalysis.SyntaxToken),
_trailingTriviaCache?.ToListNode(), position: 0, index: 0);
} }
private SyntaxToken Create(ref TokenInfo info, SyntaxListBuilder leading, SyntaxListBuilder trailing, SyntaxDiagnosticInfo[] errors) private SyntaxToken Create(ref TokenInfo info, SyntaxListBuilder leading, SyntaxListBuilder trailing, SyntaxDiagnosticInfo[] errors)
{ {
Debug.Assert(info.Kind != SyntaxKind.IdentifierToken || info.StringValue != null); Debug.Assert(info.Kind != SyntaxKind.IdentifierToken || info.StringValue != null);
var leadingNode = SyntaxList.List(leading); var leadingNode = leading?.ToListNode();
var trailingNode = SyntaxList.List(trailing); var trailingNode = trailing?.ToListNode();
SyntaxToken token; SyntaxToken token;
if (info.RequiresTextForXmlEntity) if (info.RequiresTextForXmlEntity)
......
...@@ -96,16 +96,6 @@ internal static SyntaxList List(ArrayElement<CSharpSyntaxNode>[] children) ...@@ -96,16 +96,6 @@ internal static SyntaxList List(ArrayElement<CSharpSyntaxNode>[] children)
} }
} }
internal static CSharpSyntaxNode List(SyntaxListBuilder builder)
{
if (builder != null)
{
return builder.ToListNode();
}
return null;
}
internal abstract void CopyTo(ArrayElement<CSharpSyntaxNode>[] array, int offset); internal abstract void CopyTo(ArrayElement<CSharpSyntaxNode>[] array, int offset);
internal static CSharpSyntaxNode Concat(CSharpSyntaxNode left, CSharpSyntaxNode right) internal static CSharpSyntaxNode Concat(CSharpSyntaxNode left, CSharpSyntaxNode right)
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<ProjectGuid>cd77a8cc-2885-47a7-b99c-fbf13353400b</ProjectGuid> <ProjectGuid>c1930979-c824-496b-a630-70f5369a636f</ProjectGuid>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion> <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
</PropertyGroup> </PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册