retdec
Public Types | Public Member Functions | Protected Attributes | List of all members
retdec::demangler::Demangler Class Referenceabstract

#include <demangler_base.h>

Inheritance diagram for retdec::demangler::Demangler:
Inheritance graph
[legend]
Collaboration diagram for retdec::demangler::Demangler:
Collaboration graph
[legend]

Public Types

enum  Status : uint8_t {
  success = 0 , init , init_fail , memory_alloc_failure ,
  invalid_mangled_name , unknown
}
 

Public Member Functions

 Demangler (const std::string &compiler)
 
virtual ~Demangler ()=default
 
virtual std::string demangleToString (const std::string &mangled)=0
 
virtual std::shared_ptr< ctypes::FunctiondemangleFunctionToCtypes (const std::string &mangled, std::unique_ptr< ctypes::Module > &module, const ctypesparser::CTypesParser::TypeWidths &typeWidths, const ctypesparser::CTypesParser::TypeSignedness &typeSignedness, unsigned defaultBitWidth)=0
 
Status status ()
 

Protected Attributes

std::string _compiler
 
Status _status
 

Detailed Description

Abstract base class for all demanglers

Member Enumeration Documentation

◆ Status

Enumerator
success 
init 
init_fail 
memory_alloc_failure 
invalid_mangled_name 
unknown 

Constructor & Destructor Documentation

◆ Demangler()

retdec::demangler::Demangler::Demangler ( const std::string &  compiler)
explicit

Abstract constructor.

Parameters
compilerName of compiler mangling scheme.

◆ ~Demangler()

virtual retdec::demangler::Demangler::~Demangler ( )
virtualdefault

Member Function Documentation

◆ demangleFunctionToCtypes()

virtual std::shared_ptr<ctypes::Function> retdec::demangler::Demangler::demangleFunctionToCtypes ( const std::string &  mangled,
std::unique_ptr< ctypes::Module > &  module,
const ctypesparser::CTypesParser::TypeWidths typeWidths,
const ctypesparser::CTypesParser::TypeSignedness typeSignedness,
unsigned  defaultBitWidth 
)
pure virtual

◆ demangleToString()

virtual std::string retdec::demangler::Demangler::demangleToString ( const std::string &  mangled)
pure virtual

◆ status()

Demangler::Status retdec::demangler::Demangler::status ( )
Returns
Currend demangler status.

Member Data Documentation

◆ _compiler

std::string retdec::demangler::Demangler::_compiler
protected

◆ _status

Status retdec::demangler::Demangler::_status
protected

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