Skip to content

Commit ed1f9b3

Browse files
committed
Implement both -isEqual: and -isEqualToString: to directly call the internal _isEqual, to avoid a redundant ObjC message send + type check
1 parent 6d178e8 commit ed1f9b3

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

stdlib/public/core/StringStorage.swift

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,12 @@ final internal class __StringStorage
303303

304304
@objc(isEqualToString:)
305305
@_effects(readonly)
306+
final internal func isEqualToString(to other: AnyObject?) -> Int8 {
307+
return _isEqual(other)
308+
}
309+
310+
@objc(isEqual:)
311+
@_effects(readonly)
306312
final internal func isEqual(to other: AnyObject?) -> Int8 {
307313
return _isEqual(other)
308314
}
@@ -811,7 +817,13 @@ final internal class __SharedStringStorage
811817

812818
@objc(isEqualToString:)
813819
@_effects(readonly)
814-
final internal func isEqual(to other:AnyObject?) -> Int8 {
820+
final internal func isEqualToString(to other: AnyObject?) -> Int8 {
821+
return _isEqual(other)
822+
}
823+
824+
@objc(isEqual:)
825+
@_effects(readonly)
826+
final internal func isEqual(to other: AnyObject?) -> Int8 {
815827
return _isEqual(other)
816828
}
817829

0 commit comments

Comments
 (0)