public XmlNodeSyntax CreateElement(XmlElementEndTagSyntax endElement) { Debug.Assert(endElement != null); var contentList = _content.ToList(); _pool.Free(_content); return(SyntaxFactory.XmlElement(_start, contentList, endElement)); }
// Get the final list of trivia nodes we should attached. public SyntaxList <SyntaxNode> GetTriviaList() { FinishInProgressTokens(); if (diagnosticsToAdd != null && diagnosticsToAdd.Any()) { // Still have diagnostics. Add to the last item. if (triviaListBuilder.Count > 0) { triviaListBuilder[triviaListBuilder.Count - 1] = triviaListBuilder[triviaListBuilder.Count - 1].WithAdditionalDiagnostics(diagnosticsToAdd.ToArray()); } } return(triviaListBuilder.ToList()); }
// Create a SkippedTokens trivia from any tokens currently accumulated into the skippedTokensBuilder. If not, // don't do anything. private void FinishInProgressTokens() { if (skippedTokensBuilder.Count > 0) { var skippedTokensTrivia = SyntaxFactory.SkippedTokensTrivia(skippedTokensBuilder.ToList()); if (diagnosticsToAdd != null) { foreach (var d in diagnosticsToAdd) { ////skippedTokensTrivia = skippedTokensTrivia.AddError(d); } diagnosticsToAdd = null; // only add once. } triviaListBuilder.Add(skippedTokensTrivia); skippedTokensBuilder.Clear(); } }
public SyntaxList <TNode> ToList() { return(_builder.ToList()); }