private static void WriteRazorDirective(RazorDirectiveSyntax node, StringBuilder builder) { if (node.DirectiveDescriptor == null) { return; } builder.Append("Directive:{"); builder.Append(node.DirectiveDescriptor.Directive); builder.Append(";"); builder.Append(node.DirectiveDescriptor.Kind); builder.Append(";"); builder.Append(node.DirectiveDescriptor.Usage); builder.Append("}"); var diagnostics = node.GetDiagnostics(); if (diagnostics.Length > 0) { builder.Append(" ["); var ids = string.Join(", ", diagnostics.Select(diagnostic => $"{diagnostic.Id}{diagnostic.Span}")); builder.Append(ids); builder.Append("]"); } builder.Append(" - "); }
private void WriteRazorDirective(RazorDirectiveSyntax node) { if (node.DirectiveDescriptor == null) { return; } var builder = new StringBuilder("Directive:{"); builder.Append(node.DirectiveDescriptor.Directive); builder.Append(';'); builder.Append(node.DirectiveDescriptor.Kind); builder.Append(';'); builder.Append(node.DirectiveDescriptor.Usage); builder.Append('}'); var diagnostics = node.GetDiagnostics(); if (diagnostics.Length > 0) { builder.Append(" ["); var ids = string.Join(", ", diagnostics.Select(diagnostic => $"{diagnostic.Id}{diagnostic.Span}")); builder.Append(ids); builder.Append(']'); } WriteSeparator(); Write(builder.ToString()); }
public override void VisitRazorDirective(RazorDirectiveSyntax node) { IntermediateNode directiveNode; var descriptor = node.DirectiveDescriptor; if (descriptor != null) { var diagnostics = node.GetDiagnostics(); // This is an extensible directive. if (IsMalformed(diagnostics)) { directiveNode = new MalformedDirectiveIntermediateNode() { DirectiveName = descriptor.Directive, Directive = descriptor, Source = BuildSourceSpanFromNode(node), }; } else { directiveNode = new DirectiveIntermediateNode() { DirectiveName = descriptor.Directive, Directive = descriptor, Source = BuildSourceSpanFromNode(node), }; } for (var i = 0; i < diagnostics.Length; i++) { directiveNode.Diagnostics.Add(diagnostics[i]); } _builder.Push(directiveNode); } Visit(node.Body); if (descriptor != null) { _builder.Pop(); } }