diff --git a/Sources/Foundation/CMakeLists.txt b/Sources/Foundation/CMakeLists.txt index 470364a0a2..b591310cda 100644 --- a/Sources/Foundation/CMakeLists.txt +++ b/Sources/Foundation/CMakeLists.txt @@ -21,7 +21,6 @@ add_library(Foundation ByteCountFormatter.swift CGFloat.swift CharacterSet.swift - Codable.swift DateComponents.swift DateComponentsFormatter.swift DateFormatter.swift diff --git a/Sources/Foundation/Codable.swift b/Sources/Foundation/Codable.swift deleted file mode 100644 index 4976f52655..0000000000 --- a/Sources/Foundation/Codable.swift +++ /dev/null @@ -1,59 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// This source file is part of the Swift.org open source project -// -// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors -// Licensed under Apache License v2.0 with Runtime Library Exception -// -// See https://swift.org/LICENSE.txt for license information -// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors -// -//===----------------------------------------------------------------------===// - -//===----------------------------------------------------------------------===// -// Errors -//===----------------------------------------------------------------------===// - -// Both of these error types bridge to NSError, and through the entry points they use, no further work is needed to make them localized. -extension EncodingError : LocalizedError {} -extension DecodingError : LocalizedError {} - -//===----------------------------------------------------------------------===// -// Error Utilities -//===----------------------------------------------------------------------===// - -extension DecodingError { - /// Returns a `.typeMismatch` error describing the expected type. - /// - /// - parameter path: The path of `CodingKey`s taken to decode a value of this type. - /// - parameter expectation: The type expected to be encountered. - /// - parameter reality: The value that was encountered instead of the expected type. - /// - returns: A `DecodingError` with the appropriate path and debug description. - internal static func _typeMismatch(at path: [CodingKey], expectation: Any.Type, reality: Any) -> DecodingError { - let description = "Expected to decode \(expectation) but found \(_typeDescription(of: reality)) instead." - return .typeMismatch(expectation, Context(codingPath: path, debugDescription: description)) - } - - /// Returns a description of the type of `value` appropriate for an error message. - /// - /// - parameter value: The value whose type to describe. - /// - returns: A string describing `value`. - /// - precondition: `value` is one of the types below. - fileprivate static func _typeDescription(of value: Any) -> String { - switch value { - case is NSNull: - return "a null value" - case is NSNumber: /* FIXME: If swift-corelibs-foundation isn't updated to use NSNumber, this check will be necessary: || value is Int || value is Double */ - return "a number" - case is String: - return "a string/data" - case is [Any]: - return "an array" - case is [String : Any]: - return "a dictionary" - default: - return "\(type(of: value))" - } - } -} -