19 lines
633 B
C#
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));
|
|
}
|
|
}
|
|
}
|