diff --git a/Sources/Client/FHIRMinimalServer.swift b/Sources/Client/FHIRMinimalServer.swift index 5dcdfd19..34de13d3 100644 --- a/Sources/Client/FHIRMinimalServer.swift +++ b/Sources/Client/FHIRMinimalServer.swift @@ -33,7 +33,7 @@ open class FHIRMinimalServer: FHIRServer { Main initializer. Makes sure the base URL ends with a "/" to facilitate URL generation later on. */ public required init(baseURL base: URL, auth: [String: Any]? = nil) { - if let last = base.absoluteString.characters.last, last != "/" { + if let last = base.absoluteString.last, last != "/" { baseURL = base.appendingPathComponent("/") } else { diff --git a/Sources/Client/FHIROperation.swift b/Sources/Client/FHIROperation.swift index 90dfb99a..aeb20401 100644 --- a/Sources/Client/FHIROperation.swift +++ b/Sources/Client/FHIROperation.swift @@ -47,7 +47,7 @@ open class FHIROperation: CustomStringConvertible { var instance: Resource? { didSet { if let inst = instance { - type = type(of: inst) + type = Swift.type(of: inst) context = .instance } } @@ -181,5 +181,5 @@ open class FHIROperation: CustomStringConvertible { /// Alias to `FHIROperation` for neat operation usage. -public typealias $ = FHIROperation +public typealias `$` = FHIROperation diff --git a/Sources/Client/FHIRSearch.swift b/Sources/Client/FHIRSearch.swift index 6ce5ba53..90d7ef15 100644 --- a/Sources/Client/FHIRSearch.swift +++ b/Sources/Client/FHIRSearch.swift @@ -86,12 +86,12 @@ open class FHIRSearch // expand let qry = query.expand(extra) if let type = profileType { - if qry.characters.count > 0 { + if qry.count > 0 { return "\(type.resourceType)?\(qry)" } return type.resourceType } - if qry.characters.count > 0 { + if qry.count > 0 { return "?\(qry)" } return "" diff --git a/Sources/Client/FHIRServerDataResponse.swift b/Sources/Client/FHIRServerDataResponse.swift index 602b6630..c0f91148 100644 --- a/Sources/Client/FHIRServerDataResponse.swift +++ b/Sources/Client/FHIRServerDataResponse.swift @@ -58,13 +58,13 @@ extension FHIRServerResponse { // inspect ETag header if var etag = headers["ETag"] { if etag.hasPrefix("W/") { - etag = etag[etag.index(etag.startIndex, offsetBy: 2).. 0 }.map() { $0.string }) + parts.append(contentsOf: prefix.filter() { $0.string.count > 0 }.map() { $0.string }) } if let given = given { - parts.append(contentsOf: given.filter() { $0.string.characters.count > 0 }.map() { $0.string }) + parts.append(contentsOf: given.filter() { $0.string.count > 0 }.map() { $0.string }) } - if let family = family?.string, family.characters.count > 0 { + if let family = family?.string, family.count > 0 { parts.append(family) } if let suffix = suffix { - parts.append(contentsOf: suffix.filter() { $0.string.characters.count > 0 }.map() { $0.string }) + parts.append(contentsOf: suffix.filter() { $0.string.count > 0 }.map() { $0.string }) } guard parts.count > 0 else { return nil diff --git a/Sources/Client/Reference+Resolving.swift b/Sources/Client/Reference+Resolving.swift index 11560873..1e4c64ae 100644 --- a/Sources/Client/Reference+Resolving.swift +++ b/Sources/Client/Reference+Resolving.swift @@ -138,7 +138,7 @@ extension Reference { /** Strips the leading hash "#" symbol, if it's there, in order to perform a contained resource lookup. */ func processedReferenceIdentifier() -> String? { if let ref = reference?.string, "#" == ref[ref.startIndex] { - return ref[ref.index(ref.startIndex, offsetBy: 1).." + return "" } } diff --git a/Sources/Models/Claim.swift b/Sources/Models/Claim.swift index dd0eb7c2..5a933f2f 100644 --- a/Sources/Models/Claim.swift +++ b/Sources/Models/Claim.swift @@ -346,7 +346,7 @@ open class ClaimDiagnosis: BackboneElement { self.diagnosisReference = value } else { - fhir_warn("Type “\(type(of: diagnosis))” for property “\(diagnosis)” is invalid, ignoring") + fhir_warn("Type “\(Swift.type(of: diagnosis))” for property “\(diagnosis)” is invalid, ignoring") } self.sequence = sequence } diff --git a/Sources/Models/DateAndTime.swift b/Sources/Models/DateAndTime.swift index a12e68b4..cb19ed45 100644 --- a/Sources/Models/DateAndTime.swift +++ b/Sources/Models/DateAndTime.swift @@ -868,7 +868,7 @@ class DateAndTimeParser { var tzHrMin = hourStr var tzhour = 0 var tzmin = 0 - if 2 == hourStr.characters.count { + if 2 == hourStr.count { tzhour = Int(hourStr) ?? 0 if nil != scanner.fhir_scanString(":"), let tzm = scanner.fhir_scanInt() { tzHrMin += (tzm < 10) ? ":0\(tzm)" : ":\(tzm)" @@ -877,9 +877,9 @@ class DateAndTimeParser { } } } - else if 4 == hourStr.characters.count { - tzhour = Int(hourStr.substring(to: hourStr.index(hourStr.startIndex, offsetBy: 2)))! - tzmin = Int(hourStr.substring(from: hourStr.index(hourStr.startIndex, offsetBy: 2)))! + else if 4 == hourStr.count { + tzhour = Int(hourStr[..(type: T.Type, for key: String, in j // correct type? guard let arr = exist as? [T.JSONType] else { - errors.append(FHIRValidationError(key: key, wants: Array.self, has: type(of: exist))) + errors.append(FHIRValidationError(key: key, wants: Array.self, has: Swift.type(of: exist))) return nil } diff --git a/Sources/Models/FHIRAbstractResource.swift b/Sources/Models/FHIRAbstractResource.swift index de946b04..1b7267f0 100644 --- a/Sources/Models/FHIRAbstractResource.swift +++ b/Sources/Models/FHIRAbstractResource.swift @@ -58,8 +58,8 @@ open class FHIRAbstractResource: FHIRAbstractBase { super.populate(from: json, context: &context) if let type = json["resourceType"] as? String { context.insertKey("resourceType") - if type != type(of: self).resourceType { - context.addError(FHIRValidationError(key: "resourceType", problem: "should be “\(type(of: self).resourceType)” but is “\(type)”")) + if type != Swift.type(of: self).resourceType { + context.addError(FHIRValidationError(key: "resourceType", problem: "should be “\(Swift.type(of: self).resourceType)” but is “\(type)”")) } } else { diff --git a/Sources/Models/FHIRDecimal.swift b/Sources/Models/FHIRDecimal.swift index 22725d98..413b6945 100644 --- a/Sources/Models/FHIRDecimal.swift +++ b/Sources/Models/FHIRDecimal.swift @@ -59,7 +59,7 @@ public struct FHIRDecimal: FHIRPrimitive, LosslessStringConvertible, Expressible #if os(Linux) self.init(Decimal(json)) #else - if let _ = json.stringValue.characters.index(of: ".") { + if let _ = json.stringValue.index(of: ".") { self.init(stringLiteral: String(format: "%.15g", json.doubleValue)) } else { diff --git a/Sources/Models/FHIREnum.swift b/Sources/Models/FHIREnum.swift index 1d20db9c..e003e6db 100644 --- a/Sources/Models/FHIREnum.swift +++ b/Sources/Models/FHIREnum.swift @@ -26,7 +26,7 @@ public func createEnum(type: E.Type, for key: String, in js // correct type? guard let value = exist as? E.RawValue else { - context.addError(FHIRValidationError(key: key, wants: E.RawValue.self, has: type(of: exist))) + context.addError(FHIRValidationError(key: key, wants: E.RawValue.self, has: Swift.type(of: exist))) return nil } @@ -61,7 +61,7 @@ public func createEnums(of type: E.Type, for key: String, i // correct type? guard let val = exist as? [E.RawValue] else { - context.addError(FHIRValidationError(key: key, wants: Array.self, has: type(of: exist))) + context.addError(FHIRValidationError(key: key, wants: Array.self, has: Swift.type(of: exist))) return nil } diff --git a/Sources/Models/FHIRType.swift b/Sources/Models/FHIRType.swift index 847a441f..132f9cb8 100644 --- a/Sources/Models/FHIRType.swift +++ b/Sources/Models/FHIRType.swift @@ -235,7 +235,7 @@ public func createInstance(type: P.Type, for key: String, in js context.insertKey(key) guard let val = exist as? P.JSONType else { - context.addError(FHIRValidationError(key: key, wants: P.JSONType.self, has: type(of: exist))) + context.addError(FHIRValidationError(key: key, wants: P.JSONType.self, has: Swift.type(of: exist))) return nil } @@ -278,7 +278,7 @@ public func createInstances(of type: P.Type, for key: String, i // correct type, also for _key? guard let val = exist as? [P.JSONType] else { - context.addError(FHIRValidationError(key: key, wants: Array.self, has: type(of: exist))) + context.addError(FHIRValidationError(key: key, wants: Array.self, has: Swift.type(of: exist))) return nil } @@ -289,7 +289,7 @@ public func createInstances(of type: P.Type, for key: String, i primitiveExtensions = primitivesCorrect } else { - context.addError(FHIRValidationError(key: "_\(key)", wants: Array.self, has: type(of: primitivesExist))) + context.addError(FHIRValidationError(key: "_\(key)", wants: Array.self, has: Swift.type(of: primitivesExist))) } } diff --git a/Sources/Models/MedicationDispense.swift b/Sources/Models/MedicationDispense.swift index 3c2b31d3..673af7a9 100644 --- a/Sources/Models/MedicationDispense.swift +++ b/Sources/Models/MedicationDispense.swift @@ -110,7 +110,7 @@ open class MedicationDispense: DomainResource { self.medicationReference = value } else { - fhir_warn("Type “\(type(of: medication))” for property “\(medication)” is invalid, ignoring") + fhir_warn("Type “\(Swift.type(of: medication))” for property “\(medication)” is invalid, ignoring") } } diff --git a/Sources/Models/Signature.swift b/Sources/Models/Signature.swift index 58d43186..4a7f360c 100644 --- a/Sources/Models/Signature.swift +++ b/Sources/Models/Signature.swift @@ -58,7 +58,7 @@ open class Signature: Element { self.whoReference = value } else { - fhir_warn("Type “\(type(of: who))” for property “\(who)” is invalid, ignoring") + fhir_warn("Type “\(Swift.type(of: who))” for property “\(who)” is invalid, ignoring") } } diff --git a/Sources/Models/Task.swift b/Sources/Models/Task.swift index f734364a..f94338de 100644 --- a/Sources/Models/Task.swift +++ b/Sources/Models/Task.swift @@ -438,7 +438,7 @@ open class TaskInput: BackboneElement { self.valueMeta = value } else { - fhir_warn("Type “\(type(of: value))” for property “\(value)” is invalid, ignoring") + fhir_warn("Type “\(Swift.type(of: value))” for property “\(value)” is invalid, ignoring") } } @@ -797,7 +797,7 @@ open class TaskOutput: BackboneElement { self.valueMeta = value } else { - fhir_warn("Type “\(type(of: value))” for property “\(value)” is invalid, ignoring") + fhir_warn("Type “\(Swift.type(of: value))” for property “\(value)” is invalid, ignoring") } } diff --git a/SwiftFHIR.xcodeproj/project.pbxproj b/SwiftFHIR.xcodeproj/project.pbxproj index b7747d69..2d63dc0b 100644 --- a/SwiftFHIR.xcodeproj/project.pbxproj +++ b/SwiftFHIR.xcodeproj/project.pbxproj @@ -1616,24 +1616,24 @@ attributes = { LastSwiftMigration = 0700; LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0810; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = "SMART Health IT"; TargetAttributes = { EE684C1D19A789BA00B5A2C0 = { CreatedOnToolsVersion = 6.0; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; ProvisioningStyle = Automatic; }; EE684C2819A789BA00B5A2C0 = { CreatedOnToolsVersion = 6.0; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; }; EE6DA7CD1A5D4B1000E00708 = { - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; }; EE6DA85C1A5D4B3A00E00708 = { CreatedOnToolsVersion = 6.2; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; }; }; }; @@ -2445,14 +2445,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -2495,14 +2501,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -2546,7 +2558,8 @@ PRODUCT_NAME = SwiftFHIR; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -2568,7 +2581,8 @@ SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -2583,7 +2597,8 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.chip.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -2599,7 +2614,8 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -2621,7 +2637,8 @@ PRODUCT_NAME = SwiftFHIR; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -2644,7 +2661,8 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -2659,7 +2677,8 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.chip.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -2675,7 +2694,8 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -2697,7 +2717,7 @@ PRODUCT_NAME = SwiftFHIRMin; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -2720,7 +2740,7 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Release; }; diff --git a/SwiftFHIR.xcodeproj/xcshareddata/xcschemes/SwiftFHIR-iOS.xcscheme b/SwiftFHIR.xcodeproj/xcshareddata/xcschemes/SwiftFHIR-iOS.xcscheme index b1e9a5b4..ac07ddb5 100644 --- a/SwiftFHIR.xcodeproj/xcshareddata/xcschemes/SwiftFHIR-iOS.xcscheme +++ b/SwiftFHIR.xcodeproj/xcshareddata/xcschemes/SwiftFHIR-iOS.xcscheme @@ -1,6 +1,6 @@ [String] { if let comp = URLComponents(url: self, resolvingAgainstBaseURL: false) { if let qry = comp.query { - return qry.characters.split() {$0 == "&"}.map { String($0) } + return qry.split() {$0 == "&"}.map { String($0) } } } return [] diff --git a/Tests/ModelTests/DateAndTimeTests.swift b/Tests/ModelTests/DateAndTimeTests.swift index 4e3a319c..023340c0 100644 --- a/Tests/ModelTests/DateAndTimeTests.swift +++ b/Tests/ModelTests/DateAndTimeTests.swift @@ -276,7 +276,7 @@ class DateTimeTests: XCTestCase { XCTAssertEqual(UInt8(33), d!.time!.minute) XCTAssertEqual(29, d!.time!.second!) XCTAssertFalse(nil == d!.timeZone) - XCTAssertEqual(TimeZone.current, d!.timeZone!, "Should default to local time zone but have \(d!.timeZone)") + XCTAssertEqual(TimeZone.current, d!.timeZone!, "Should default to local time zone but have \(String(describing: d!.timeZone))") d = DateTime(string: "2015-03-28T02:33:29+01:00") XCTAssertFalse(nil == d) @@ -423,7 +423,7 @@ class DateTimeTests: XCTestCase { XCTAssertEqual(UInt8(33), d!.time!.minute) XCTAssertEqual(29, d!.time!.second!) XCTAssertFalse(nil == d!.timeZone) - XCTAssertEqual(TimeZone.current, d!.timeZone!, "Should default to local time zone but have \(d!.timeZone)") + XCTAssertEqual(TimeZone.current, d!.timeZone!, "Should default to local time zone but have \(String(describing: d!.timeZone))") } func testComparisons() { diff --git a/fhir-parser-resources/Base64Binary.swift b/fhir-parser-resources/Base64Binary.swift index 2292f1f1..c1fd6a82 100644 --- a/fhir-parser-resources/Base64Binary.swift +++ b/fhir-parser-resources/Base64Binary.swift @@ -69,7 +69,7 @@ public struct Base64Binary: FHIRPrimitive, FHIRJSONType, ExpressibleByStringLite // MARK: - Printable, Equatable and Comparable public var description: String { - return "" + return "" } } diff --git a/fhir-parser-resources/DateAndTime.swift b/fhir-parser-resources/DateAndTime.swift index 716bdd39..7943b196 100644 --- a/fhir-parser-resources/DateAndTime.swift +++ b/fhir-parser-resources/DateAndTime.swift @@ -340,9 +340,9 @@ public struct FHIRTime: DateAndTime { } if let s = second { #if os(Linux) - return String(format: "%02d:%02d:", hour, minute) + ((s < 10) ? "0" : "") + String(format: "%g", s) + return String(format: "%02d:%02d:", hour, minute) + ((s < 10.0) ? "0" : "") + String(format: "%g", s) #else - return String(format: "%02d:%02d:%@%g", hour, minute, (s < 10) ? "0" : "", s) + return String(format: "%02d:%02d:%@%g", hour, minute, (s < 10.0) ? "0" : "", s) #endif } return String(format: "%02d:%02d", hour, minute) @@ -868,7 +868,7 @@ class DateAndTimeParser { var tzHrMin = hourStr var tzhour = 0 var tzmin = 0 - if 2 == hourStr.characters.count { + if 2 == hourStr.count { tzhour = Int(hourStr) ?? 0 if nil != scanner.fhir_scanString(":"), let tzm = scanner.fhir_scanInt() { tzHrMin += (tzm < 10) ? ":0\(tzm)" : ":\(tzm)" @@ -877,9 +877,9 @@ class DateAndTimeParser { } } } - else if 4 == hourStr.characters.count { - tzhour = Int(hourStr.substring(to: hourStr.index(hourStr.startIndex, offsetBy: 2)))! - tzmin = Int(hourStr.substring(from: hourStr.index(hourStr.startIndex, offsetBy: 2)))! + else if 4 == hourStr.count { + tzhour = Int(hourStr[.." + return "<\(Swift.type(of: self).resourceType)>" } /// The debug description pretty-prints the Element/Resource's JSON representation. @@ -254,7 +254,7 @@ public func instantiate(type: T.Type, for key: String, in j // correct type? guard let arr = exist as? [T.JSONType] else { - errors.append(FHIRValidationError(key: key, wants: Array.self, has: type(of: exist))) + errors.append(FHIRValidationError(key: key, wants: Array.self, has: Swift.type(of: exist))) return nil } diff --git a/fhir-parser-resources/FHIRAbstractResource.swift b/fhir-parser-resources/FHIRAbstractResource.swift index de946b04..1b7267f0 100644 --- a/fhir-parser-resources/FHIRAbstractResource.swift +++ b/fhir-parser-resources/FHIRAbstractResource.swift @@ -58,8 +58,8 @@ open class FHIRAbstractResource: FHIRAbstractBase { super.populate(from: json, context: &context) if let type = json["resourceType"] as? String { context.insertKey("resourceType") - if type != type(of: self).resourceType { - context.addError(FHIRValidationError(key: "resourceType", problem: "should be “\(type(of: self).resourceType)” but is “\(type)”")) + if type != Swift.type(of: self).resourceType { + context.addError(FHIRValidationError(key: "resourceType", problem: "should be “\(Swift.type(of: self).resourceType)” but is “\(type)”")) } } else { diff --git a/fhir-parser-resources/FHIRDecimal.swift b/fhir-parser-resources/FHIRDecimal.swift index 22725d98..413b6945 100644 --- a/fhir-parser-resources/FHIRDecimal.swift +++ b/fhir-parser-resources/FHIRDecimal.swift @@ -59,7 +59,7 @@ public struct FHIRDecimal: FHIRPrimitive, LosslessStringConvertible, Expressible #if os(Linux) self.init(Decimal(json)) #else - if let _ = json.stringValue.characters.index(of: ".") { + if let _ = json.stringValue.index(of: ".") { self.init(stringLiteral: String(format: "%.15g", json.doubleValue)) } else { diff --git a/fhir-parser-resources/FHIREnum.swift b/fhir-parser-resources/FHIREnum.swift index 1d20db9c..e003e6db 100644 --- a/fhir-parser-resources/FHIREnum.swift +++ b/fhir-parser-resources/FHIREnum.swift @@ -26,7 +26,7 @@ public func createEnum(type: E.Type, for key: String, in js // correct type? guard let value = exist as? E.RawValue else { - context.addError(FHIRValidationError(key: key, wants: E.RawValue.self, has: type(of: exist))) + context.addError(FHIRValidationError(key: key, wants: E.RawValue.self, has: Swift.type(of: exist))) return nil } @@ -61,7 +61,7 @@ public func createEnums(of type: E.Type, for key: String, i // correct type? guard let val = exist as? [E.RawValue] else { - context.addError(FHIRValidationError(key: key, wants: Array.self, has: type(of: exist))) + context.addError(FHIRValidationError(key: key, wants: Array.self, has: Swift.type(of: exist))) return nil } diff --git a/fhir-parser-resources/FHIRType.swift b/fhir-parser-resources/FHIRType.swift index b2e4e299..54f7d41f 100644 --- a/fhir-parser-resources/FHIRType.swift +++ b/fhir-parser-resources/FHIRType.swift @@ -112,7 +112,7 @@ extension FHIRJSONType { - parameter json: The JSON element to use to populate the receiver - parameter context: An in-out parameter being filled with key names used. */ - public final func populateAndFinalize(from json: FHIRJSON, context: inout FHIRInstantiationContext) { + public func populateAndFinalize(from json: FHIRJSON, context: inout FHIRInstantiationContext) { context.insertKey("fhir_comments") populate(from: json, context: &context) @@ -191,7 +191,7 @@ public struct FHIRInstantiationContext { public mutating func finalize(for json: FHIRJSON) { for key in json.keys { // cannot use filter() because that uses a closure, which complains of caturing a mutating foobar if !containsKey(key) { - addError(FHIRValidationError(unknown: key, ofType: type(of: json[key]!))) + addError(FHIRValidationError(unknown: key, ofType: Swift.type(of: json[key]!))) } } } @@ -235,7 +235,7 @@ public func createInstance(type: P.Type, for key: String, in js context.insertKey(key) guard let val = exist as? P.JSONType else { - context.addError(FHIRValidationError(key: key, wants: P.JSONType.self, has: type(of: exist))) + context.addError(FHIRValidationError(key: key, wants: P.JSONType.self, has: Swift.type(of: exist))) return nil } @@ -278,7 +278,7 @@ public func createInstances(of type: P.Type, for key: String, i // correct type, also for _key? guard let val = exist as? [P.JSONType] else { - context.addError(FHIRValidationError(key: key, wants: Array.self, has: type(of: exist))) + context.addError(FHIRValidationError(key: key, wants: Array.self, has: Swift.type(of: exist))) return nil } @@ -289,7 +289,7 @@ public func createInstances(of type: P.Type, for key: String, i primitiveExtensions = primitivesCorrect } else { - context.addError(FHIRValidationError(key: "_\(key)", wants: Array.self, has: type(of: primitivesExist))) + context.addError(FHIRValidationError(key: "_\(key)", wants: Array.self, has: Swift.type(of: primitivesExist))) } } diff --git a/fhir-parser-resources/template-resource.swift b/fhir-parser-resources/template-resource.swift index 9264f451..6c31981f 100644 --- a/fhir-parser-resources/template-resource.swift +++ b/fhir-parser-resources/template-resource.swift @@ -57,7 +57,7 @@ open class {{ klass.name }}: {{ klass.superclass.name|default('FHIRAbstractBase' } {%- endfor %} else { - fhir_warn("Type “\(type(of: {{ nonop.one_of_many }}))” for property “\({{ nonop.one_of_many }})” is invalid, ignoring") + fhir_warn("Type “\(Swift.type(of: {{ nonop.one_of_many }}))” for property “\({{ nonop.one_of_many }})” is invalid, ignoring") } {%- else %} self.{{ nonop.name }} = {{ nonop.name }}