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(",",expected),token.charBuffer.getLineAt(token.Position)); } } }