aspclassic-core/AspClassic.Parser/ErrorXmlSerializer.cs
Jelle Luteijn 484dbfc9d9 progress
2022-05-15 11:19:49 +02:00

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);
}
}
}