コード例 #1
0
ファイル: SyntaxListPool.cs プロジェクト: sbauer/AspNetCore
    public SyntaxList <TNode> ToListAndFree <TNode>(SyntaxListBuilder <TNode> item)
        where TNode : GreenNode
    {
        var list = item.ToList();

        Free(item);
        return(list);
    }
コード例 #2
0
ファイル: XmlCommentParser.cs プロジェクト: sperling/cskarp
        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()));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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);
        }
コード例 #5
0
ファイル: SpanBuilder.cs プロジェクト: vyaspranjal33/Razor
        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);
        }
コード例 #6
0
 public SyntaxList <TNode> ToList()
 {
     return(_builder.ToList());
 }