summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 5ec190b2..9d4a3ae6 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -1531,6 +1531,26 @@ namespace BinaryNinja {
std::function<bool(size_t, size_t)> progress = {}, Ref<Metadata> options = new Metadata(MetadataType::KeyValueDataType),
bool isDatabase = false);
+ /*! Demangles using LLVM's demangler
+
+ \param[in] mangledName a mangled (msvc/itanium/rust/dlang) name
+ \param[out] outVarName QualifiedName reference to write the output name to.
+ \param[in] simplify Whether to simplify demangled names.
+
+ \ingroup demangle
+ */
+ bool DemangleLLVM(const std::string& mangledName, QualifiedName& outVarName, const bool simplify = false);
+
+ /*! Demangles using LLVM's demangler
+
+ \param[in] mangledName a mangled (msvc/itanium/rust/dlang) name
+ \param[out] outVarName QualifiedName reference to write the output name to.
+ \param[in] view View to check the analysis.types.templateSimplifier for
+
+ \ingroup demangle
+ */
+ bool DemangleLLVM(const std::string& mangledName, QualifiedName& outVarName, BinaryView* view);
+
/*! Demangles a Microsoft Visual Studio C++ name
\param[in] arch Architecture for the symbol. Required for pointer and integer sizes.