39 lines
1,017 B
C#
39 lines
1,017 B
C#
using System.Collections.Generic;
|
|
using System.Xml;
|
|
using Microsoft.VisualBasic.CompilerServices;
|
|
|
|
namespace AspClassic.Parser;
|
|
|
|
public class ErrorXmlSerializer
|
|
{
|
|
private readonly XmlWriter Writer;
|
|
|
|
public ErrorXmlSerializer(XmlWriter Writer)
|
|
{
|
|
this.Writer = Writer;
|
|
}
|
|
|
|
private void Serialize(Span Span)
|
|
{
|
|
Writer.WriteAttributeString("startLine", Conversions.ToString(Span.Start.Line));
|
|
Writer.WriteAttributeString("startCol", Conversions.ToString(Span.Start.Column));
|
|
Writer.WriteAttributeString("endLine", Conversions.ToString(Span.Finish.Line));
|
|
Writer.WriteAttributeString("endCol", Conversions.ToString(Span.Finish.Column));
|
|
}
|
|
|
|
public void Serialize(SyntaxError SyntaxError)
|
|
{
|
|
Writer.WriteStartElement(SyntaxError.Type.ToString());
|
|
Serialize(SyntaxError.Span);
|
|
Writer.WriteString(SyntaxError.ToString());
|
|
Writer.WriteEndElement();
|
|
}
|
|
|
|
public void Serialize(List<SyntaxError> SyntaxErrors)
|
|
{
|
|
foreach (SyntaxError SyntaxError in SyntaxErrors)
|
|
{
|
|
Serialize(SyntaxError);
|
|
}
|
|
}
|
|
}
|