mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Centralize the logic for figuring out what name to use for a class or protocol in the Objective-C runtime. When the flag is enabled (it's still disabled by default), use mangled names for all Swift-defined classes, including those that are @objc. Note that the naming is determined in the AST, because we're also going to use this logic when printing an Objective-C header for Clang's consumption. The mangled names will always start with _Tt, so they're easy to recognize and demangle in various tools or, eventually, in the Objective-C runtime. The new test (test/IRGen/objc_mangling.sil) is the only test of this behavior at the moment. The other test changes are due to the centralized logic tweaking the names of internal constants (_DATA_*, _CATEGORY_*, etc.). This is the majority of <rdar://problem/15506580>. Swift SVN r15588
28 KiB
28 KiB