diff options
Diffstat (limited to '3rdParty/Breakpad/src/common/language.h')
-rw-r--r-- | 3rdParty/Breakpad/src/common/language.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/3rdParty/Breakpad/src/common/language.h b/3rdParty/Breakpad/src/common/language.h index bbe3033..2d2dbcd 100644 --- a/3rdParty/Breakpad/src/common/language.h +++ b/3rdParty/Breakpad/src/common/language.h @@ -77,9 +77,26 @@ class Language { virtual string MakeQualifiedName (const string &parent_name, const string &name) const = 0; + enum DemangleResult { + // Demangling was not performed because it’s not appropriate to attempt. + kDontDemangle = -1, + + kDemangleSuccess, + kDemangleFailure, + }; + + // Wraps abi::__cxa_demangle() or similar for languages where appropriate. + virtual DemangleResult DemangleName(const string& mangled, + string* demangled) const { + demangled->clear(); + return kDontDemangle; + } + // Instances for specific languages. static const Language * const CPlusPlus, * const Java, + * const Swift, + * const Rust, * const Assembler; }; |