Skip to content

Commit 0614c78

Browse files
authored
Merge pull request #13857 from DougGregor/demangle-is-swift-symbol-cstr
2 parents 7dc215c + 82140ca commit 0614c78

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

include/swift/Demangling/Demangle.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,11 @@ inline bool isMangledName(llvm::StringRef mangledName) {
235235
/// This includes the old (<= swift 3.x) mangling prefix "_T".
236236
bool isSwiftSymbol(llvm::StringRef mangledName);
237237

238+
/// Returns true if the mangledName starts with the swift mangling prefix.
239+
///
240+
/// This includes the old (<= swift 3.x) mangling prefix "_T".
241+
bool isSwiftSymbol(const char *mangledName);
242+
238243
/// Drops the Swift mangling prefix from the given mangled name, if there is
239244
/// one.
240245
///

lib/Demangling/Demangler.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,11 @@ bool swift::Demangle::isSwiftSymbol(llvm::StringRef mangledName) {
139139
return getManglingPrefixLength(mangledName) != 0;
140140
}
141141

142+
bool swift::Demangle::isSwiftSymbol(const char *mangledName) {
143+
StringRef mangledNameRef(mangledName, 4);
144+
return isSwiftSymbol(mangledNameRef);
145+
}
146+
142147
bool swift::Demangle::isOldFunctionTypeMangling(llvm::StringRef mangledName) {
143148
return mangledName.size() >= 2 && mangledName[0] == '_' &&
144149
mangledName[1] == 'T';

0 commit comments

Comments
 (0)