add new methods to the NodePrinter to enable range tracking possibilities when demangling a name

This commit is contained in:
Charles Zablit
2025-06-18 12:51:53 +01:00
parent c31a07460a
commit 80fe2dce79
3 changed files with 151 additions and 15 deletions

View File

@@ -66,6 +66,12 @@ std::string Context::demangleSymbolAsString(llvm::StringRef MangledName,
return demangling;
}
void Context::demangleSymbolAsString(llvm::StringRef MangledName,
NodePrinter *printer) {
NodePointer root = demangleSymbolAsNode(MangledName);
nodeToString(root, printer);
}
std::string Context::demangleTypeAsString(llvm::StringRef MangledName,
const DemangleOptions &Options) {
NodePointer root = demangleTypeAsNode(MangledName);
@@ -275,6 +281,13 @@ std::string demangleSymbolAsString(const char *MangledName,
Options);
}
void demangleSymbolAsString(const char *MangledName, size_t MangledNameLength,
NodePrinter *printer) {
Context Ctx;
return Ctx.demangleSymbolAsString(StringRef(MangledName, MangledNameLength),
printer);
}
std::string demangleTypeAsString(const char *MangledName,
size_t MangledNameLength,
const DemangleOptions &Options) {