57 lines
1.2 KiB
C#
57 lines
1.2 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Text;
|
|
|
|
namespace Flee.Parsing
|
|
{
|
|
internal class ParserLogException : Exception
|
|
{
|
|
private readonly ArrayList _errors = new ArrayList();
|
|
public ParserLogException()
|
|
{
|
|
}
|
|
public override string Message
|
|
{
|
|
get
|
|
{
|
|
StringBuilder buffer = new StringBuilder();
|
|
|
|
for (int i = 0; i < Count; i++)
|
|
{
|
|
if (i > 0)
|
|
{
|
|
buffer.Append("\n");
|
|
}
|
|
buffer.Append(this[i].Message);
|
|
}
|
|
return buffer.ToString();
|
|
}
|
|
}
|
|
|
|
public int Count => _errors.Count;
|
|
|
|
|
|
public int GetErrorCount()
|
|
{
|
|
return Count;
|
|
}
|
|
|
|
public ParseException this[int index] => (ParseException)_errors[index];
|
|
|
|
public ParseException GetError(int index)
|
|
{
|
|
return this[index];
|
|
}
|
|
|
|
public void AddError(ParseException e)
|
|
{
|
|
_errors.Add(e);
|
|
}
|
|
|
|
public string GetMessage()
|
|
{
|
|
return Message;
|
|
}
|
|
}
|
|
}
|