public SyntaxList <TNode> ToListAndFree <TNode>(SyntaxListBuilder <TNode> item) where TNode : GreenNode { var list = item.ToList(); Free(item); return(list); }
private XmlNodeSyntax ParseXmlText() { var textTokens = new SyntaxListBuilder(10); while (this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralToken || this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralNewLineToken || this.CurrentToken.Kind == SyntaxKind.XmlEntityLiteralToken) { textTokens.Add(this.EatToken()); } return(Syntax.XmlText(textTokens.ToList())); }
private TNode CreateForGlobalFailure <TNode>(int position, TNode node) where TNode : LuaSyntaxNode { // Turn the complete input into a single skipped token. This avoids running the lexer, and therefore // the preprocessor directive parser, which may itself run into the same problem that caused the // original failure. var builder = new SyntaxListBuilder(1); builder.Add(SyntaxFactory.BadToken(null, _lexer.Text.ToString(), null)); var fileAsTrivia = SyntaxFactory.SkippedTokensTrivia(builder.ToList <SyntaxToken>()); node = AddLeadingSkippedSyntax(node, fileAsTrivia); ForceEndOfFile(); // force the scanner to report that it is at the end of the input. return(AddError(node, position, 0, ErrorCode.ERR_InsufficientStack)); }
private HtmlNodeSyntax GetSyntaxNode(SyntaxKind syntaxKind) { if (syntaxKind == SyntaxKind.HtmlText) { var textTokens = new SyntaxListBuilder <SyntaxToken>(SyntaxListBuilder.Create()); foreach (var token in Tokens) { if (token.SyntaxKind == SyntaxKind.Unknown) { Debug.Assert(false, $"Unexpected html token {((HtmlToken)token).Type}"); continue; } textTokens.Add(token.SyntaxToken); } var textResult = textTokens.ToList(); return(SyntaxFactory.HtmlText(new SyntaxList <SyntaxToken>(textResult.Node))); } return(null); }
private Syntax.GreenNode GetSyntaxNode(SyntaxKind syntaxKind) { if (syntaxKind == SyntaxKind.HtmlTextLiteral) { var textTokens = new SyntaxListBuilder <SyntaxToken>(SyntaxListBuilder.Create()); foreach (var token in Tokens) { if (token.Kind == SyntaxKind.Unknown) { Debug.Assert(false, $"Unexpected token {token.Kind}"); continue; } textTokens.Add(token); } var textResult = textTokens.ToList(); return(SyntaxFactory.HtmlTextLiteral(new SyntaxList <SyntaxToken>(textResult.Node))); } return(null); }
public SyntaxList <TNode> ToList() { return(_builder.ToList()); }