protected override void Visit(RazorDirectiveChunk chunk) { var tokensBlock = new CSharpBlock(); using (_context.Builder.UseBlock(tokensBlock)) { Accept(chunk.Children); } IRazorDirective directive; var tokens = tokensBlock.Children.OfType <RazorDirectiveToken>().ToList(); if (chunk.Descriptor.Type == RazorDirectiveDescriptorType.SingleLine) { directive = new RazorSingleLineDirective() { Name = chunk.Name, Tokens = tokens, }; } else { var directiveChildren = tokensBlock.Children.Except(tokens); var directiveBlock = new RazorBlockDirective() { Name = chunk.Name, Tokens = tokens, }; directiveBlock.Children.AddRange(directiveChildren); directive = directiveBlock; } _context.Builder.Add(directive); }
protected virtual void Visit(RazorDirectiveChunk chunk) { }