Example #1
0
        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);
        }
Example #2
0
        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;
 }