Avatar
omochimetaru 9/20/2018 4:01 AM
int swift::Demangle::getManglingPrefixLength(llvm::StringRef mangledName) { if (mangledName.empty()) return 0; llvm::StringRef prefixes[] = { /*Swift 4*/ "_T0", /*Swift 4.x*/ "$S", "_$S", /*Swift 5+*/ "$s", "_$s"}; // Look for any of the known prefixes for (auto prefix : prefixes) { if (mangledName.startswith(prefix)) return prefix.size(); } return 0; }
4:02 AM
bool swift::Demangle::isOldFunctionTypeMangling(llvm::StringRef mangledName) { return mangledName.startswith("_T"); }
4:03 AM
_T, _T0, $S, $s の 4つがこれまでにあるっぽい
4:04 AM
Swift5ではABIを安定化するから $s から代わる事は今後無いと・・・
4:05 AM
このPRで #define MANGLING_PREFIX $s になるってことは
4:05 AM
4.2リリースして、次はいよいよSwift5を目指すのか。