retdec
borland_demangler.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_LLVM_BORLAND_DEMANGLER_H
8 #define RETDEC_LLVM_BORLAND_DEMANGLER_H
9 
12 
13 namespace retdec {
14 namespace demangler {
15 
20 {
21 public:
23 
24  std::string demangleToString(const std::string &mangled) override;
25 
26  std::shared_ptr<ctypes::Function> demangleFunctionToCtypes(
27  const std::string &mangled,
28  std::unique_ptr<ctypes::Module> &module,
30  const ctypesparser::CTypesParser::TypeSignedness &typeSignedness,
31  unsigned defaultBitWidth) override;
32 
33 private:
35 };
36 
37 }
38 }
39 
40 #endif //RETDEC_LLVM_BORLAND_DEMANGLER_H
Parser of mangled names into tree for borland demangler.
std::map< std::string, ctypes::IntegralType::Signess > TypeSignedness
Set container for C-types' signedness.
Definition: ctypes_parser.h:30
std::map< std::string, unsigned > TypeWidths
Set container for C-types' bit width.
Definition: ctypes_parser.h:28
Borland demangler.
Definition: borland_demangler.h:20
std::shared_ptr< ctypes::Function > demangleFunctionToCtypes(const std::string &mangled, std::unique_ptr< ctypes::Module > &module, const ctypesparser::CTypesParser::TypeWidths &typeWidths, const ctypesparser::CTypesParser::TypeSignedness &typeSignedness, unsigned defaultBitWidth) override
Definition: borland_demangler.cpp:66
borland::Context _demangleContext
Definition: borland_demangler.h:34
BorlandDemangler()
Constructor for borland demangler.
Definition: borland_demangler.cpp:51
std::string demangleToString(const std::string &mangled) override
Demangles name mangled by borland mangling scheme into string.
Definition: borland_demangler.cpp:58
Definition: demangler_base.h:31
Storage for functions, types and names. Used for cacheing.
Definition: context.h:38
Base class for demanglers.
ShPtr< Module > module
The current module.
Definition: hll_writer.cpp:100
Definition: archive_wrapper.h:19