public Zone(NodeLocation location, string error, Zone callZone) { var input = location.Source; var index = location.Index; if (index > input.Length) { index = input.Length; } int lineNumber, position; GetLineNumber(location, out lineNumber, out position); var lines = input.Split('\n'); FileName = location.FileName; Message = error; CallZone = callZone; LineNumber = lineNumber + 1; Position = position; Extract = new Extract(lines, lineNumber); }
private ParserException GenerateParserError(ParsingException parsingException) { var errorLocation = parsingException.Location; var error = parsingException.Message; var call = parsingException.CallLocation; var zone = new Zone(errorLocation, error, call != null ? new Zone(call) : null); var message = Stylizer.Stylize(zone); return new ParserException(message, parsingException, zone); }
public ParserException(string message, Exception innerException, Zone errorLocation) : base(message, innerException) { ErrorLocation = errorLocation; }