Skip to content

Commit 1e24318

Browse files
committed
# This is a combination of 4 commits.
# The first commit's message is: x # This is the 2nd commit message: Reproduce the _runtime(_ObjC) version of hasPrefix and hasSuffix # This is the 3rd commit message: Port of the prefix and suffix test from swift/test/1_stdlib/NSStringAPI.swift # This is the 4th commit message: Correction: use bitwise or
1 parent 32e8305 commit 1e24318

18 files changed

+1198
-37
lines changed

Foundation.xcodeproj/project.pbxproj

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,9 +248,23 @@
248248
D834F9941C31C4060023812A /* TestNSOrderedSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D834F9931C31C4060023812A /* TestNSOrderedSet.swift */; };
249249
D3047AEC1C38BC3300295652 /* TestNSValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3047AEB1C38BC3300295652 /* TestNSValue.swift */; };
250250
D31302011C30CEA900295652 /* NSConcreteValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D31302001C30CEA900295652 /* NSConcreteValue.swift */; };
251+
D370696E1C394FBF00295652 /* NSKeyedUnarchiver-RangeTest.plist in Resources */ = {isa = PBXBuildFile; fileRef = D370696D1C394FBF00295652 /* NSKeyedUnarchiver-RangeTest.plist */; };
251252
D39A14011C2D6E0A00295652 /* NSKeyedUnarchiver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D39A14001C2D6E0A00295652 /* NSKeyedUnarchiver.swift */; };
253+
D3A597F01C33A9E500295652 /* TestNSKeyedUnarchiver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3A597EF1C33A9E500295652 /* TestNSKeyedUnarchiver.swift */; };
254+
D3A597F21C33C68E00295652 /* TestNSKeyedArchiver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3A597F11C33C68E00295652 /* TestNSKeyedArchiver.swift */; };
255+
D3A597F41C34142600295652 /* NSKeyedUnarchiver-NotificationTest.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3A597F31C34142600295652 /* NSKeyedUnarchiver-NotificationTest.plist */; };
256+
D3A597F71C3415CC00295652 /* NSKeyedUnarchiver-ArrayTest.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3A597F51C3415CC00295652 /* NSKeyedUnarchiver-ArrayTest.plist */; };
257+
D3A597F81C3415CC00295652 /* NSKeyedUnarchiver-URLTest.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3A597F61C3415CC00295652 /* NSKeyedUnarchiver-URLTest.plist */; };
258+
D3A597FA1C3415F000295652 /* NSKeyedUnarchiver-UUIDTest.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3A597F91C3415F000295652 /* NSKeyedUnarchiver-UUIDTest.plist */; };
259+
D3A597FC1C3417EA00295652 /* NSKeyedUnarchiver-ComplexTest.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3A597FB1C3417EA00295652 /* NSKeyedUnarchiver-ComplexTest.plist */; };
260+
D3A598001C341E9100295652 /* NSKeyedUnarchiver-ConcreteValueTest.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3A597FF1C341E9100295652 /* NSKeyedUnarchiver-ConcreteValueTest.plist */; };
261+
D3A598041C349E6A00295652 /* NSKeyedUnarchiver-OrderedSetTest.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3A598021C349E6A00295652 /* NSKeyedUnarchiver-OrderedSetTest.plist */; };
252262
D3BCEB9E1C2EDED800295652 /* NSLog.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3BCEB9D1C2EDED800295652 /* NSLog.swift */; };
253263
D3BCEBA01C2F6DDB00295652 /* NSKeyedCoderOldStyleArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3BCEB9F1C2F6DDB00295652 /* NSKeyedCoderOldStyleArray.swift */; };
264+
D3E8D6D11C367AB600295652 /* NSSpecialValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3E8D6D01C367AB600295652 /* NSSpecialValue.swift */; };
265+
D3E8D6D31C36982700295652 /* NSKeyedUnarchiver-EdgeInsetsTest.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3E8D6D21C36982700295652 /* NSKeyedUnarchiver-EdgeInsetsTest.plist */; };
266+
D3E8D6D51C36AC0C00295652 /* NSKeyedUnarchiver-RectTest.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3E8D6D41C36AC0C00295652 /* NSKeyedUnarchiver-RectTest.plist */; };
267+
D834F9941C31C4060023812A /* TestNSOrderedSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D834F9931C31C4060023812A /* TestNSOrderedSet.swift */; };
254268
DCDBB8331C1768AC00313299 /* TestNSData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCDBB8321C1768AC00313299 /* TestNSData.swift */; };
255269
E19E17DC1C2225930023AF4D /* TestNSXMLDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = E19E17DB1C2225930023AF4D /* TestNSXMLDocument.swift */; };
256270
E1A03F361C4828650023AF4D /* PropertyList-1.0.dtd in Resources */ = {isa = PBXBuildFile; fileRef = E1A03F351C4828650023AF4D /* PropertyList-1.0.dtd */; };
@@ -601,9 +615,23 @@
601615
D834F9931C31C4060023812A /* TestNSOrderedSet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSOrderedSet.swift; sourceTree = "<group>"; };
602616
D3047AEB1C38BC3300295652 /* TestNSValue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSValue.swift; sourceTree = "<group>"; };
603617
D31302001C30CEA900295652 /* NSConcreteValue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSConcreteValue.swift; sourceTree = "<group>"; };
618+
D370696D1C394FBF00295652 /* NSKeyedUnarchiver-RangeTest.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSKeyedUnarchiver-RangeTest.plist"; sourceTree = "<group>"; };
604619
D39A14001C2D6E0A00295652 /* NSKeyedUnarchiver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSKeyedUnarchiver.swift; sourceTree = "<group>"; };
620+
D3A597EF1C33A9E500295652 /* TestNSKeyedUnarchiver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSKeyedUnarchiver.swift; sourceTree = "<group>"; };
621+
D3A597F11C33C68E00295652 /* TestNSKeyedArchiver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSKeyedArchiver.swift; sourceTree = "<group>"; };
622+
D3A597F31C34142600295652 /* NSKeyedUnarchiver-NotificationTest.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSKeyedUnarchiver-NotificationTest.plist"; sourceTree = "<group>"; };
623+
D3A597F51C3415CC00295652 /* NSKeyedUnarchiver-ArrayTest.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSKeyedUnarchiver-ArrayTest.plist"; sourceTree = "<group>"; };
624+
D3A597F61C3415CC00295652 /* NSKeyedUnarchiver-URLTest.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSKeyedUnarchiver-URLTest.plist"; sourceTree = "<group>"; };
625+
D3A597F91C3415F000295652 /* NSKeyedUnarchiver-UUIDTest.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSKeyedUnarchiver-UUIDTest.plist"; sourceTree = "<group>"; };
626+
D3A597FB1C3417EA00295652 /* NSKeyedUnarchiver-ComplexTest.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSKeyedUnarchiver-ComplexTest.plist"; sourceTree = "<group>"; };
627+
D3A597FF1C341E9100295652 /* NSKeyedUnarchiver-ConcreteValueTest.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSKeyedUnarchiver-ConcreteValueTest.plist"; sourceTree = "<group>"; };
628+
D3A598021C349E6A00295652 /* NSKeyedUnarchiver-OrderedSetTest.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSKeyedUnarchiver-OrderedSetTest.plist"; sourceTree = "<group>"; };
605629
D3BCEB9D1C2EDED800295652 /* NSLog.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSLog.swift; sourceTree = "<group>"; };
606630
D3BCEB9F1C2F6DDB00295652 /* NSKeyedCoderOldStyleArray.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSKeyedCoderOldStyleArray.swift; sourceTree = "<group>"; };
631+
D3E8D6D01C367AB600295652 /* NSSpecialValue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSSpecialValue.swift; sourceTree = "<group>"; };
632+
D3E8D6D21C36982700295652 /* NSKeyedUnarchiver-EdgeInsetsTest.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSKeyedUnarchiver-EdgeInsetsTest.plist"; sourceTree = "<group>"; };
633+
D3E8D6D41C36AC0C00295652 /* NSKeyedUnarchiver-RectTest.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSKeyedUnarchiver-RectTest.plist"; sourceTree = "<group>"; };
634+
D834F9931C31C4060023812A /* TestNSOrderedSet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSOrderedSet.swift; sourceTree = "<group>"; };
607635
DCDBB8321C1768AC00313299 /* TestNSData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSData.swift; sourceTree = "<group>"; };
608636
E19E17DB1C2225930023AF4D /* TestNSXMLDocument.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSXMLDocument.swift; sourceTree = "<group>"; };
609637
E1A03F351C4828650023AF4D /* PropertyList-1.0.dtd */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "PropertyList-1.0.dtd"; sourceTree = "<group>"; };
@@ -1092,6 +1120,16 @@
10921120
EA66F6391BF1619600136161 /* Resources */ = {
10931121
isa = PBXGroup;
10941122
children = (
1123+
D370696D1C394FBF00295652 /* NSKeyedUnarchiver-RangeTest.plist */,
1124+
D3E8D6D41C36AC0C00295652 /* NSKeyedUnarchiver-RectTest.plist */,
1125+
D3E8D6D21C36982700295652 /* NSKeyedUnarchiver-EdgeInsetsTest.plist */,
1126+
D3A598021C349E6A00295652 /* NSKeyedUnarchiver-OrderedSetTest.plist */,
1127+
D3A597FF1C341E9100295652 /* NSKeyedUnarchiver-ConcreteValueTest.plist */,
1128+
D3A597FB1C3417EA00295652 /* NSKeyedUnarchiver-ComplexTest.plist */,
1129+
D3A597F91C3415F000295652 /* NSKeyedUnarchiver-UUIDTest.plist */,
1130+
D3A597F51C3415CC00295652 /* NSKeyedUnarchiver-ArrayTest.plist */,
1131+
D3A597F61C3415CC00295652 /* NSKeyedUnarchiver-URLTest.plist */,
1132+
D3A597F31C34142600295652 /* NSKeyedUnarchiver-NotificationTest.plist */,
10951133
EA66F6791BF9401E00136161 /* Info.plist */,
10961134
CE19A88B1C23AA2300B4CB6A /* NSStringTestData.txt */,
10971135
528776181BF27D9500CB0090 /* Test.plist */,
@@ -1121,6 +1159,8 @@
11211159
4AE109261C17CCBF007367B5 /* TestNSIndexPath.swift */,
11221160
EA66F63E1BF1619600136161 /* TestNSIndexSet.swift */,
11231161
5EB6A15C1C188FC40037DCB8 /* TestNSJSONSerialization.swift */,
1162+
D3A597F11C33C68E00295652 /* TestNSKeyedArchiver.swift */,
1163+
D3A597EF1C33A9E500295652 /* TestNSKeyedUnarchiver.swift */,
11241164
61A395F91C2484490029B337 /* TestNSLocale.swift */,
11251165
61F8AE7C1C180FC600FB62F0 /* TestNSNotificationCenter.swift */,
11261166
5EF673AB1C28B527006212A3 /* TestNSNotificationQueue.swift */,
@@ -1359,8 +1399,9 @@
13591399
EADE0B5F1BD15DFF00C49C64 /* NSGeometry.swift */,
13601400
EADE0B4D1BD09E0800C49C64 /* NSAffineTransform.swift */,
13611401
5BDC3F3D1BCC5DCB00ED97BB /* NSNumber.swift */,
1362-
5BDC3F4C1BCC5DCB00ED97BB /* NSValue.swift */,
13631402
D31302001C30CEA900295652 /* NSConcreteValue.swift */,
1403+
D3E8D6D01C367AB600295652 /* NSSpecialValue.swift */,
1404+
5BDC3F4C1BCC5DCB00ED97BB /* NSValue.swift */,
13641405
);
13651406
name = Number;
13661407
sourceTree = "<group>";
@@ -1656,12 +1697,25 @@
16561697
isa = PBXResourcesBuildPhase;
16571698
buildActionMask = 2147483647;
16581699
files = (
1700+
D3A597F41C34142600295652 /* NSKeyedUnarchiver-NotificationTest.plist in Resources */,
16591701
528776191BF27D9500CB0090 /* Test.plist in Resources */,
16601702
EA66F6481BF1619600136161 /* NSURLTestData.plist in Resources */,
1703+
D3A597FA1C3415F000295652 /* NSKeyedUnarchiver-UUIDTest.plist in Resources */,
1704+
D3A598001C341E9100295652 /* NSKeyedUnarchiver-ConcreteValueTest.plist in Resources */,
1705+
D3A597FC1C3417EA00295652 /* NSKeyedUnarchiver-ComplexTest.plist in Resources */,
1706+
D3E8D6D51C36AC0C00295652 /* NSKeyedUnarchiver-RectTest.plist in Resources */,
1707+
D3A597F81C3415CC00295652 /* NSKeyedUnarchiver-URLTest.plist in Resources */,
1708+
D3E8D6D31C36982700295652 /* NSKeyedUnarchiver-EdgeInsetsTest.plist in Resources */,
1709+
D370696E1C394FBF00295652 /* NSKeyedUnarchiver-RangeTest.plist in Resources */,
1710+
D3A597F71C3415CC00295652 /* NSKeyedUnarchiver-ArrayTest.plist in Resources */,
16611711
CE19A88C1C23AA2300B4CB6A /* NSStringTestData.txt in Resources */,
16621712
E1A03F361C4828650023AF4D /* PropertyList-1.0.dtd in Resources */,
16631713
E1A3726F1C31EBFB0023AF4D /* NSXMLDocumentTestData.xml in Resources */,
1714+
<<<<<<< HEAD
16641715
E1A03F381C482C730023AF4D /* NSXMLDTDTestData.xml in Resources */,
1716+
=======
1717+
D3A598041C349E6A00295652 /* NSKeyedUnarchiver-OrderedSetTest.plist in Resources */,
1718+
>>>>>>> b12000d... [SR-377] beginnings of NSKeyedUnarchiver tests
16651719
);
16661720
runOnlyForDeploymentPostprocessing = 0;
16671721
};
@@ -1710,6 +1764,7 @@
17101764
5BF7AEAD1BCD51F9008F214A /* NSError.swift in Sources */,
17111765
EADE0BB61BD15E0000C49C64 /* NSSortDescriptor.swift in Sources */,
17121766
5BF7AEA41BCD51F9008F214A /* NSBundle.swift in Sources */,
1767+
D3E8D6D11C367AB600295652 /* NSSpecialValue.swift in Sources */,
17131768
EAB57B721BD1C7A5004AC5C5 /* NSPortMessage.swift in Sources */,
17141769
EADE0BBB1BD15E0000C49C64 /* NSURLAuthenticationChallenge.swift in Sources */,
17151770
EADE0BA11BD15DFF00C49C64 /* NSIndexSet.swift in Sources */,
@@ -1936,6 +1991,7 @@
19361991
848A30581C137B3500C83206 /* TestNSHTTPCookie.swift in Sources */,
19371992
D834F9941C31C4060023812A /* TestNSOrderedSet.swift in Sources */,
19381993
EA66F6541BF1619600136161 /* TestNSSet.swift in Sources */,
1994+
D3A597F01C33A9E500295652 /* TestNSKeyedUnarchiver.swift in Sources */,
19391995
EA66F64A1BF1619600136161 /* TestNSArray.swift in Sources */,
19401996
5BC1D8BE1BF3B09E009D3973 /* TestNSCharacterSet.swift in Sources */,
19411997
EA66F6561BF1619600136161 /* TestNSString.swift in Sources */,
@@ -1947,6 +2003,7 @@
19472003
88D28DE71C13AE9000494606 /* TestNSGeometry.swift in Sources */,
19482004
EA66F64C1BF1619600136161 /* TestNSDictionary.swift in Sources */,
19492005
AA664D4F1C1B03CA00C22186 /* TestNSNumberFormatter.swift in Sources */,
2006+
D3A597F21C33C68E00295652 /* TestNSKeyedArchiver.swift in Sources */,
19502007
EA66F6581BF1619600136161 /* TestNSURL.swift in Sources */,
19512008
61D6C9EF1C1DFE9500DEF583 /* TestNSTimer.swift in Sources */,
19522009
61E0117C1C1B554D000037DD /* TestNSRunLoop.swift in Sources */,

Foundation/NSOrderedSet.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,10 @@ public class NSOrderedSet : NSObject, NSCopying, NSMutableCopying, NSSecureCodin
5454
if aDecoder.allowsKeyedCoding {
5555
var idx = 0
5656
var objects : [AnyObject] = []
57-
while let object = aDecoder.decodeObjectForKey("NS.object.\(idx)") {
57+
while aDecoder.containsValueForKey(("NS.object.\(idx)")) {
58+
guard let object = aDecoder.decodeObjectForKey("NS.object.\(idx)") else {
59+
return nil
60+
}
5861
objects.append(object)
5962
idx += 1
6063
}

Foundation/String.swift

Lines changed: 21 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1579,43 +1579,30 @@ extension String {
15791579
) != nil
15801580
return r
15811581
}
1582-
1583-
#if os(Linux)
1582+
}
1583+
1584+
#if !_runtime(_ObjC)
1585+
import CoreFoundation
1586+
1587+
extension String {
15841588
public func hasPrefix(prefix: String) -> Bool {
1585-
let characters = utf16
1586-
let prefixCharacters = prefix.utf16
1587-
let start = characters.startIndex
1588-
let prefixStart = prefixCharacters.startIndex
1589-
if characters.count < prefixCharacters.count {
1590-
return false
1591-
}
1592-
for idx in 0..<prefixCharacters.count {
1593-
if characters[start.advancedBy(idx)] != prefixCharacters[prefixStart.advancedBy(idx)] {
1594-
return false
1595-
}
1596-
}
1597-
return true
1589+
let cfstring = self._cfObject
1590+
let range = CFRangeMake(0, CFStringGetLength(cfstring))
1591+
let opts = CFStringCompareFlags(
1592+
kCFCompareAnchored | kCFCompareNonliteral)
1593+
1594+
return CFStringFindWithOptions(cfstring, prefix._cfObject,
1595+
range, opts, nil)
15981596
}
15991597

16001598
public func hasSuffix(suffix: String) -> Bool {
1601-
let characters = utf16
1602-
let suffixCharacters = suffix.utf16
1603-
let start = characters.startIndex
1604-
let suffixStart = suffixCharacters.startIndex
1605-
1606-
if characters.count < suffixCharacters.count {
1607-
return false
1608-
}
1609-
for idx in 0..<suffixCharacters.count {
1610-
let charactersIdx = start.advancedBy(characters.count - idx - 1)
1611-
let suffixIdx = suffixStart.advancedBy(suffixCharacters.count - idx - 1)
1612-
if characters[charactersIdx] != suffixCharacters[suffixIdx] {
1613-
return false
1614-
}
1615-
}
1616-
return true
1599+
let cfstring = self._cfObject
1600+
let range = CFRangeMake(0, CFStringGetLength(cfstring))
1601+
let opts = CFStringCompareFlags(
1602+
kCFCompareAnchored | kCFCompareBackwards | kCFCompareNonliteral)
1603+
1604+
return CFStringFindWithOptions(cfstring, suffix._cfObject,
1605+
range, opts, nil)
16171606
}
1618-
#endif
16191607
}
1620-
1621-
1608+
#endif
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>$archiver</key>
6+
<string>NSKeyedArchiver</string>
7+
<key>$objects</key>
8+
<array>
9+
<string>$null</string>
10+
<dict>
11+
<key>$class</key>
12+
<dict>
13+
<key>CF$UID</key>
14+
<integer>5</integer>
15+
</dict>
16+
<key>NS.objects</key>
17+
<array>
18+
<dict>
19+
<key>CF$UID</key>
20+
<integer>2</integer>
21+
</dict>
22+
<dict>
23+
<key>CF$UID</key>
24+
<integer>2</integer>
25+
</dict>
26+
<dict>
27+
<key>CF$UID</key>
28+
<integer>3</integer>
29+
</dict>
30+
<dict>
31+
<key>CF$UID</key>
32+
<integer>4</integer>
33+
</dict>
34+
</array>
35+
</dict>
36+
<string>baa</string>
37+
<string>black</string>
38+
<string>sheep</string>
39+
<dict>
40+
<key>$classes</key>
41+
<array>
42+
<string>NSArray</string>
43+
<string>NSObject</string>
44+
</array>
45+
<key>$classname</key>
46+
<string>NSArray</string>
47+
</dict>
48+
</array>
49+
<key>$top</key>
50+
<dict>
51+
<key>root</key>
52+
<dict>
53+
<key>CF$UID</key>
54+
<integer>1</integer>
55+
</dict>
56+
</dict>
57+
<key>$version</key>
58+
<integer>100000</integer>
59+
</dict>
60+
</plist>
Binary file not shown.
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>$archiver</key>
6+
<string>NSKeyedArchiver</string>
7+
<key>$objects</key>
8+
<array>
9+
<string>$null</string>
10+
<dict>
11+
<key>$0</key>
12+
<dict>
13+
<key>CF$UID</key>
14+
<integer>2</integer>
15+
</dict>
16+
<key>$1</key>
17+
<dict>
18+
<key>CF$UID</key>
19+
<integer>3</integer>
20+
</dict>
21+
<key>$class</key>
22+
<dict>
23+
<key>CF$UID</key>
24+
<integer>5</integer>
25+
</dict>
26+
</dict>
27+
<string>[3i]</string>
28+
<dict>
29+
<key>$0</key>
30+
<integer>1</integer>
31+
<key>$1</key>
32+
<integer>2</integer>
33+
<key>$2</key>
34+
<integer>3</integer>
35+
<key>$class</key>
36+
<dict>
37+
<key>CF$UID</key>
38+
<integer>4</integer>
39+
</dict>
40+
<key>NS.count</key>
41+
<integer>3</integer>
42+
<key>NS.size</key>
43+
<integer>4</integer>
44+
<key>NS.type</key>
45+
<integer>105</integer>
46+
</dict>
47+
<dict>
48+
<key>$classes</key>
49+
<array>
50+
<string>_NSKeyedCoderOldStyleArray</string>
51+
<string>NSObject</string>
52+
</array>
53+
<key>$classname</key>
54+
<string>_NSKeyedCoderOldStyleArray</string>
55+
</dict>
56+
<dict>
57+
<key>$classes</key>
58+
<array>
59+
<string>NSValue</string>
60+
<string>NSObject</string>
61+
</array>
62+
<key>$classname</key>
63+
<string>NSValue</string>
64+
</dict>
65+
</array>
66+
<key>$top</key>
67+
<dict>
68+
<key>root</key>
69+
<dict>
70+
<key>CF$UID</key>
71+
<integer>1</integer>
72+
</dict>
73+
</dict>
74+
<key>$version</key>
75+
<integer>100000</integer>
76+
</dict>
77+
</plist>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>$archiver</key>
6+
<string>NSKeyedArchiver</string>
7+
<key>$objects</key>
8+
<array>
9+
<string>$null</string>
10+
<dict>
11+
<key>$class</key>
12+
<dict>
13+
<key>CF$UID</key>
14+
<integer>2</integer>
15+
</dict>
16+
<key>NS.edgeval.bottom</key>
17+
<real>3</real>
18+
<key>NS.edgeval.left</key>
19+
<real>2</real>
20+
<key>NS.edgeval.right</key>
21+
<real>4</real>
22+
<key>NS.edgeval.top</key>
23+
<real>1</real>
24+
<key>NS.special</key>
25+
<integer>12</integer>
26+
</dict>
27+
<dict>
28+
<key>$classes</key>
29+
<array>
30+
<string>NSValue</string>
31+
<string>NSObject</string>
32+
</array>
33+
<key>$classname</key>
34+
<string>NSValue</string>
35+
</dict>
36+
</array>
37+
<key>$top</key>
38+
<dict>
39+
<key>root</key>
40+
<dict>
41+
<key>CF$UID</key>
42+
<integer>1</integer>
43+
</dict>
44+
</dict>
45+
<key>$version</key>
46+
<integer>100000</integer>
47+
</dict>
48+
</plist>

0 commit comments

Comments
 (0)