Skip to content

Commit 6b6dd23

Browse files
committed
Add structural counterparts for Locale, Calendar, and Timezone
`description(withLocale:)` now takes `Locale?` instead of `AnyObject?` to prevent needless bridges `NSRange` now uniformly converts to `Range<Int>` instead of `CountableRange<Int>` (in pairity with the Darwin version) NSCalendar has a few nullability changes to more closely represent how the Darwin version works And bridging types to CF have been adjusted to their NS counterparts
1 parent ae55833 commit 6b6dd23

34 files changed

+2480
-492
lines changed

Foundation.xcodeproj/project.pbxproj

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,9 @@
229229
5BC2C00F1C07833200CC214E /* CFStringTransform.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BC2C00D1C07832E00CC214E /* CFStringTransform.c */; };
230230
5BC46D541D05D6D900005853 /* DateInterval.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BC46D531D05D6D900005853 /* DateInterval.swift */; };
231231
5BCCA8D91CE6697F0059B963 /* URLComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCCA8D81CE6697F0059B963 /* URLComponents.swift */; };
232+
5BCD03821D3EE35C00E3FF9B /* TimeZone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCD03811D3EE35C00E3FF9B /* TimeZone.swift */; };
233+
5BD70FB21D3D4CDC003B9BF8 /* Locale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD70FB11D3D4CDC003B9BF8 /* Locale.swift */; };
234+
5BD70FB41D3D4F8B003B9BF8 /* Calendar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD70FB31D3D4F8B003B9BF8 /* Calendar.swift */; };
232235
5BDC3FCA1BCF176100ED97BB /* NSCFArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BDC3FC91BCF176100ED97BB /* NSCFArray.swift */; };
233236
5BDC3FCC1BCF177E00ED97BB /* NSCFString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BDC3FCB1BCF177E00ED97BB /* NSCFString.swift */; };
234237
5BDC3FCE1BCF17D300ED97BB /* NSCFDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BDC3FCD1BCF17D300ED97BB /* NSCFDictionary.swift */; };
@@ -618,6 +621,9 @@
618621
5BC2C00D1C07832E00CC214E /* CFStringTransform.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = CFStringTransform.c; sourceTree = "<group>"; };
619622
5BC46D531D05D6D900005853 /* DateInterval.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DateInterval.swift; sourceTree = "<group>"; };
620623
5BCCA8D81CE6697F0059B963 /* URLComponents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = URLComponents.swift; sourceTree = "<group>"; };
624+
5BCD03811D3EE35C00E3FF9B /* TimeZone.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TimeZone.swift; sourceTree = "<group>"; };
625+
5BD70FB11D3D4CDC003B9BF8 /* Locale.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Locale.swift; sourceTree = "<group>"; };
626+
5BD70FB31D3D4F8B003B9BF8 /* Calendar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Calendar.swift; sourceTree = "<group>"; };
621627
5BDC3F191BCC440100ED97BB /* CFICULogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFICULogging.h; sourceTree = "<group>"; };
622628
5BDC3F1C1BCC447900ED97BB /* CFStringLocalizedFormattingInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFStringLocalizedFormattingInternal.h; sourceTree = "<group>"; };
623629
5BDC3F2E1BCC5DCB00ED97BB /* NSArray.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = NSArray.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
@@ -1517,6 +1523,7 @@
15171523
children = (
15181524
EADE0B871BD15DFF00C49C64 /* NSUserDefaults.swift */,
15191525
5BDC3F3B1BCC5DCB00ED97BB /* NSLocale.swift */,
1526+
5BD70FB11D3D4CDC003B9BF8 /* Locale.swift */,
15201527
);
15211528
name = UserDefaults;
15221529
sourceTree = "<group>";
@@ -1542,11 +1549,13 @@
15421549
isa = PBXGroup;
15431550
children = (
15441551
5BDC3F301BCC5DCB00ED97BB /* NSCalendar.swift */,
1552+
5BD70FB31D3D4F8B003B9BF8 /* Calendar.swift */,
15451553
5B0163BA1D024EB7003CCD96 /* DateComponents.swift */,
15461554
5BDC3F341BCC5DCB00ED97BB /* NSDate.swift */,
15471555
5BC46D531D05D6D900005853 /* DateInterval.swift */,
15481556
5B5C5EEF1CE61FA4001346BD /* Date.swift */,
15491557
5BDC3F491BCC5DCB00ED97BB /* NSTimeZone.swift */,
1558+
5BCD03811D3EE35C00E3FF9B /* TimeZone.swift */,
15501559
);
15511560
name = DateTime;
15521561
sourceTree = "<group>";
@@ -1900,7 +1909,9 @@
19001909
5BF7AEAE1BCD51F9008F214A /* NSFormatter.swift in Sources */,
19011910
EADE0B9C1BD15DFF00C49C64 /* NSFileManager.swift in Sources */,
19021911
5BF7AEA61BCD51F9008F214A /* NSCharacterSet.swift in Sources */,
1912+
5BD70FB41D3D4F8B003B9BF8 /* Calendar.swift in Sources */,
19031913
5BA9BEBD1CF4F3B8009DBD6C /* Notification.swift in Sources */,
1914+
5BD70FB21D3D4CDC003B9BF8 /* Locale.swift in Sources */,
19041915
EADE0BB71BD15E0000C49C64 /* NSStream.swift in Sources */,
19051916
5BF7AEBF1BCD51F9008F214A /* NSURL.swift in Sources */,
19061917
5BF7AEBC1BCD51F9008F214A /* NSThread.swift in Sources */,
@@ -1952,6 +1963,7 @@
19521963
EADE0BCC1BD15E0000C49C64 /* NSXMLNodeOptions.swift in Sources */,
19531964
5BECBA3A1D1CAE9A00B39B1F /* NSMeasurement.swift in Sources */,
19541965
5BF7AEB21BCD51F9008F214A /* NSNumber.swift in Sources */,
1966+
5BCD03821D3EE35C00E3FF9B /* TimeZone.swift in Sources */,
19551967
EADE0BBC1BD15E0000C49C64 /* NSURLCache.swift in Sources */,
19561968
5B4092121D1B30B40022B067 /* ExtraStringAPIs.swift in Sources */,
19571969
5BC46D541D05D6D900005853 /* DateInterval.swift in Sources */,
@@ -2299,6 +2311,7 @@
22992311
SWIFT_INSTALL_OBJC_HEADER = NO;
23002312
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
23012313
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
2314+
SWIFT_VERSION = 3.0;
23022315
};
23032316
name = Debug;
23042317
};
@@ -2367,6 +2380,7 @@
23672380
SKIP_INSTALL = YES;
23682381
SWIFT_INSTALL_OBJC_HEADER = NO;
23692382
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
2383+
SWIFT_VERSION = 3.0;
23702384
};
23712385
name = Release;
23722386
};

Foundation.xcworkspace/xcshareddata/Foundation.xcscmblueprint

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
},
1010
"DVTSourceControlWorkspaceBlueprintIdentifierKey" : "FACB591C-AC03-4130-9483-C58CC76060A4",
1111
"DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
12-
"B149FC0F8DC8D91345007BE1CCBE6BA80D904376" : "XCTest\/",
13-
"972770BA195CEE1F69E2331A99D177E57A3BAB6E" : "Foundation\/"
12+
"B149FC0F8DC8D91345007BE1CCBE6BA80D904376" : "swift-corelibs-xctest\/",
13+
"972770BA195CEE1F69E2331A99D177E57A3BAB6E" : "swift-corelibs-foundation\/"
1414
},
1515
"DVTSourceControlWorkspaceBlueprintNameKey" : "Foundation",
1616
"DVTSourceControlWorkspaceBlueprintVersion" : 204,

0 commit comments

Comments
 (0)