Ejemplo n.º 1
0
            public override void VisitCSharpTemplateBlock(CSharpTemplateBlockSyntax node)
            {
                var templateNode = new TemplateIntermediateNode();

                _builder.Push(templateNode);

                base.VisitCSharpTemplateBlock(node);

                _builder.Pop();

                if (templateNode.Children.Count > 0)
                {
                    var sourceRangeStart = templateNode
                                           .Children
                                           .FirstOrDefault(child => child.Source != null)
                                           ?.Source;

                    if (sourceRangeStart != null)
                    {
                        var contentLength = templateNode.Children.Sum(child => child.Source?.Length ?? 0);

                        templateNode.Source = new SourceSpan(
                            sourceRangeStart.Value.FilePath ?? SourceDocument.FilePath,
                            sourceRangeStart.Value.AbsoluteIndex,
                            sourceRangeStart.Value.LineIndex,
                            sourceRangeStart.Value.CharacterIndex,
                            contentLength);
                    }
                }
            }
Ejemplo n.º 2
0
 public override void VisitCSharpTemplateBlock(CSharpTemplateBlockSyntax node)
 {
     WriteBlock(node, FormattingBlockKind.Template, base.VisitCSharpTemplateBlock);
 }
Ejemplo n.º 3
0
 public override void VisitCSharpTemplateBlock(CSharpTemplateBlockSyntax node)
 {
     WriteBlock(node, BlockKindInternal.Template, base.VisitCSharpTemplateBlock);
 }