sharp-parser/UnexpectedTokenException.cs

19 lines
633 B
C#

using System;
namespace sharp.parser
{
public class UnexpectedTokenException : Exception
{
public Token Token { get; private set; }
public TokenDefinition[] Expected { get; private set; }
public new string Message { get; private set; }
public UnexpectedTokenException(Token token, TokenDefinition[] expected)
{
this.Token = token;
this.Expected = expected;
this.Message = string.Format("Unexpected Token in Line {0} at position {1}.\nGot {2} but should be one of [{3}]\nLine: {4}",0,token.Position,token.Value,string.Join<TokenDefinition>(",",expected),token.charBuffer.getLineAt(token.Position));
}
}
}