0001 // 0002 // ParseError.swift 0003 // JsonSerializer 0004 // 0005 // Created by Fuji Goro on 2014/09/15. 0006 // Copyright (c) 2014 Fuji Goro. All rights reserved. 0007 // 0008 0009 protocol Parser{ 0010 var lineNumber
JsonParser.swift:16 internal final class JsonDeserializer: Parser {ParseError.swift:16 let parser: ParserParseError.swift:29 init(_ reason: String, _ parser: Parser) {: Int { get } 0011 var columnNumber
ParseError.swift:19 return parser.lineNumber: Int { get } 0012 } 0013 0014 public class ParseError
ParseError.swift:22 return parser.columnNumber: ErrorType, CustomStringConvertible { 0015 public let reason
ParseError.swift:35 public class UnexpectedTokenError: ParseError { }ParseError.swift:37 public class InsufficientTokenError: ParseError { }ParseError.swift:39 public class ExtraTokenError: ParseError { }ParseError.swift:41 public class NonStringKeyError: ParseError { }ParseError.swift:43 public class InvalidStringError: ParseError { }ParseError.swift:45 public class InvalidNumberError: ParseError { }: String 0016 let parser
ParseError.swift:26 return "\(Mirror(reflecting: self))[\(lineNumber):\(columnNumber)]: \(reason)"ParseError.swift:30 self.reason = reason: Parser 0017 0018 public var lineNumber
ParseError.swift:19 return parser.lineNumberParseError.swift:22 return parser.columnNumberParseError.swift:31 self.parser = parser: Int { 0019 return parser.lineNumber 0020 } 0021 public var columnNumber
ParseError.swift:26 return "\(Mirror(reflecting: self))[\(lineNumber):\(columnNumber)]: \(reason)": Int { 0022 return parser.columnNumber 0023 } 0024 0025 public var description: String { 0026 return "\(Mirror(reflecting: self))[\(lineNumber):\(columnNumber)]: \(reason)" 0027 } 0028 0029 init(_ reason: String, _ parser: Parser) { 0030 self.reason = reason 0031 self.parser = parser 0032 } 0033 } 0034 0035 public class UnexpectedTokenError
ParseError.swift:26 return "\(Mirror(reflecting: self))[\(lineNumber):\(columnNumber)]: \(reason)": ParseError { } 0036 0037 public class InsufficientTokenError
JsonParser.swift:95 throw UnexpectedTokenError("unexpected token: \(c)", self)JsonParser.swift:101 throw UnexpectedTokenError("expected \"\(target)\" but \(currentSymbol)", self)JsonParser.swift:258 throw UnexpectedTokenError("missing colon (:)", self)JsonParser.swift:272 throw UnexpectedTokenError("missing comma (,)", self)JsonParser.swift:297 throw UnexpectedTokenError("missing comma (,) (token: \(currentSymbol))", self): ParseError { } 0038 0039 public class ExtraTokenError
JsonParser.swift:76 throw InsufficientTokenError("unexpected end of tokens", self): ParseError { } 0040 0041 public class NonStringKeyError
JsonParser.swift:67 throw ExtraTokenError("extra tokens found", self): ParseError { } 0042 0043 public class InvalidStringError
JsonParser.swift:253 throw NonStringKeyError("unexpected value for object key", self): ParseError { } 0044 0045 public class InvalidNumberError
JsonParser.swift:119 throw InvalidStringError("unexpected end of a string literal", self)JsonParser.swift:123 throw InvalidStringError("invalid escape sequence", self)JsonParser.swift:137 throw InvalidStringError("missing double quote", self)JsonParser.swift:143 throw InvalidStringError("Unable to parse CString", self): ParseError { }
JsonParser.swift:188 throw InvalidNumberError("invalid token in number", self)JsonParser.swift:205 throw InvalidNumberError("insufficient fraction part in number", self)JsonParser.swift:228 throw InvalidNumberError("insufficient exponent part in number", self)