[Stdlib][Overlays] Rename various classes to avoid conflicting ObjC names.

Old Swift and new Swift runtimes and overlays need to coexist in the same process. This means there must not be any classes which have the same ObjC runtime name in old and new, because the ObjC runtime doesn't like name collisions.

When possible without breaking source compatibility, classes were renamed in Swift, which results in a different ObjC name.

Public classes were renamed only on the ObjC side using the @_objcRuntimeName attribute.

This is similar to the work done in pull request #19295. That only renamed @objc classes. This renames all of the others, since even pure Swift classes still get an ObjC name.

rdar://problem/46646438
This commit is contained in:
Mike Ash
2018-12-14 16:21:04 -05:00
parent f348fb133e
commit fa5888fb3f
40 changed files with 658 additions and 334 deletions

View File

@@ -56,11 +56,11 @@ extension _StringGuts {
}
@inline(__always)
internal init(_ storage: _StringStorage) {
internal init(_ storage: __StringStorage) {
self.init(_StringObject(storage))
}
internal init(_ storage: _SharedStringStorage) {
internal init(_ storage: __SharedStringStorage) {
self.init(_StringObject(storage))
}