retdec
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
retdec::bin2llvmir::Demangler Class Reference

#include <demangler.h>

Collaboration diagram for retdec::bin2llvmir::Demangler:
Collaboration graph
[legend]

Public Types

using FunctionPair = std::pair< llvm::Function *, std::shared_ptr< retdec::ctypes::Function > >
 

Public Member Functions

 Demangler (llvm::Module *llvmModule, Config *config, const std::shared_ptr< ctypesparser::TypeConfig > &typeConfig, std::unique_ptr< retdec::demangler::Demangler > demangler)
 
std::string demangleToString (const std::string &mangled)
 
FunctionPair getPairFunction (const std::string &mangled)
 
demangler::DemanglergetDemangler ()
 

Private Member Functions

llvm::Type * getLlvmType (std::shared_ptr< retdec::ctypes::Type > type)
 

Private Attributes

llvm::Module * _llvmModule = nullptr
 
Config_config = nullptr
 
std::unique_ptr< retdec::ctypes::Module_ctypesModule
 
std::shared_ptr< ctypesparser::TypeConfig_typeConfig
 
std::unique_ptr< demangler::Demangler_demangler
 

Member Typedef Documentation

◆ FunctionPair

using retdec::bin2llvmir::Demangler::FunctionPair = std::pair< llvm::Function *, std::shared_ptr<retdec::ctypes::Function> >

Constructor & Destructor Documentation

◆ Demangler()

retdec::bin2llvmir::Demangler::Demangler ( llvm::Module *  llvmModule,
Config config,
const std::shared_ptr< ctypesparser::TypeConfig > &  typeConfig,
std::unique_ptr< retdec::demangler::Demangler demangler 
)

Member Function Documentation

◆ demangleToString()

std::string retdec::bin2llvmir::Demangler::demangleToString ( const std::string &  mangled)

◆ getDemangler()

demangler::Demangler * retdec::bin2llvmir::Demangler::getDemangler ( )

◆ getLlvmType()

llvm::Type * retdec::bin2llvmir::Demangler::getLlvmType ( std::shared_ptr< retdec::ctypes::Type type)
private

◆ getPairFunction()

Demangler::FunctionPair retdec::bin2llvmir::Demangler::getPairFunction ( const std::string &  mangled)

Member Data Documentation

◆ _config

Config* retdec::bin2llvmir::Demangler::_config = nullptr
private

◆ _ctypesModule

std::unique_ptr<retdec::ctypes::Module> retdec::bin2llvmir::Demangler::_ctypesModule
private

◆ _demangler

std::unique_ptr<demangler::Demangler> retdec::bin2llvmir::Demangler::_demangler
private

◆ _llvmModule

llvm::Module* retdec::bin2llvmir::Demangler::_llvmModule = nullptr
private

◆ _typeConfig

std::shared_ptr<ctypesparser::TypeConfig> retdec::bin2llvmir::Demangler::_typeConfig
private

The documentation for this class was generated from the following files: