retdec
|
Storage for functions, types and names. Used for cacheing. More...
#include <context.h>
Public Member Functions | |
Context ()=default | |
std::shared_ptr< Node > | getFunction (const std::string &mangled) const |
void | addFunction (const std::string &mangled, const std::shared_ptr< Node > &function) |
Built-in types. | |
std::shared_ptr< BuiltInTypeNode > | getBuiltInType (const std::string &name, const Qualifiers &quals) const |
void | addBuiltInType (const std::shared_ptr< BuiltInTypeNode > &type) |
Char type. | |
std::shared_ptr< CharTypeNode > | getCharType (const ThreeStateSignedness &signedness, const Qualifiers &quals) const |
void | addCharType (const std::shared_ptr< CharTypeNode > &type) |
Integral type. | |
std::shared_ptr< IntegralTypeNode > | getIntegralType (const std::string &name, bool isUnsigned, const Qualifiers &quals) const |
void | addIntegralType (const std::shared_ptr< IntegralTypeNode > &type) |
Floating point number types. | |
std::shared_ptr< FloatTypeNode > | getFloatType (const std::string &name, const Qualifiers &quals) const |
void | addFloatType (const std::shared_ptr< FloatTypeNode > &type) |
Pointer types. | |
std::shared_ptr< PointerTypeNode > | getPointerType (std::shared_ptr< Node > pointee, const Qualifiers &quals) const |
void | addPointerType (const std::shared_ptr< PointerTypeNode > &type) |
Reference types. | |
std::shared_ptr< ReferenceTypeNode > | getReferenceType (std::shared_ptr< Node > pointee) const |
void | addReferenceType (const std::shared_ptr< ReferenceTypeNode > &type) |
R-value reference types. | |
std::shared_ptr< RReferenceTypeNode > | getRReferenceType (std::shared_ptr< Node > pointee) const |
void | addRReferenceType (const std::shared_ptr< RReferenceTypeNode > &type) |
Named types. | |
std::shared_ptr< NamedTypeNode > | getNamedType (const std::string &name, const Qualifiers &quals) const |
void | addNamedType (const std::string &mangled, const Qualifiers &quals, const std::shared_ptr< NamedTypeNode > &type) |
Names. | |
std::shared_ptr< NameNode > | getName (const std::string &name) const |
void | addName (const std::shared_ptr< NameNode > &name) |
Nested names. | |
std::shared_ptr< NestedNameNode > | getNestedName (std::shared_ptr< Node > super, std::shared_ptr< Node > name) |
void | addNestedName (const std::shared_ptr< NestedNameNode > &name) |
Array types. | |
std::shared_ptr< ArrayNode > | getArray (std::shared_ptr< Node > pointee, unsigned size, const Qualifiers &quals) |
void | addArrayType (const std::shared_ptr< ArrayNode > &array) |
Private Types | |
using | BuiltInTypeNodes = std::map< std::tuple< std::string, bool, bool >, std::shared_ptr< BuiltInTypeNode > > |
using | CharTypeNodes = std::map< std::tuple< ThreeStateSignedness, bool, bool >, std::shared_ptr< CharTypeNode > > |
using | IntegralTypeNodes = std::map< std::tuple< std::string, bool, bool, bool >, std::shared_ptr< IntegralTypeNode > > |
using | PointerTypeNodes = std::map< std::tuple< std::shared_ptr< Node >, bool, bool >, std::shared_ptr< PointerTypeNode > > |
using | ReferenceTypeNodes = std::map< std::shared_ptr< Node >, std::shared_ptr< ReferenceTypeNode > > |
using | RReferenceTypeNodes = std::map< std::shared_ptr< Node >, std::shared_ptr< RReferenceTypeNode > > |
using | NamedTypeNodes = std::map< std::tuple< std::string, bool, bool >, std::shared_ptr< NamedTypeNode > > |
using | FunctionNodes = std::map< std::string, std::shared_ptr< Node > > |
using | NameNodes = std::map< std::string, std::shared_ptr< NameNode > > |
using | NestedNameNodes = std::map< std::tuple< std::shared_ptr< Node >, std::shared_ptr< Node > >, std::shared_ptr< NestedNameNode > > |
using | ArrayNodes = std::map< std::tuple< std::shared_ptr< Node >, unsigned, bool, bool >, std::shared_ptr< ArrayNode > > |
Storage for functions, types and names. Used for cacheing.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
default |
void retdec::demangler::borland::Context::addArrayType | ( | const std::shared_ptr< ArrayNode > & | array | ) |
void retdec::demangler::borland::Context::addBuiltInType | ( | const std::shared_ptr< BuiltInTypeNode > & | type | ) |
void retdec::demangler::borland::Context::addCharType | ( | const std::shared_ptr< CharTypeNode > & | type | ) |
void retdec::demangler::borland::Context::addFloatType | ( | const std::shared_ptr< FloatTypeNode > & | type | ) |
void retdec::demangler::borland::Context::addFunction | ( | const std::string & | mangled, |
const std::shared_ptr< Node > & | function | ||
) |
void retdec::demangler::borland::Context::addIntegralType | ( | const std::shared_ptr< IntegralTypeNode > & | type | ) |
void retdec::demangler::borland::Context::addName | ( | const std::shared_ptr< NameNode > & | name | ) |
void retdec::demangler::borland::Context::addNamedType | ( | const std::string & | mangled, |
const Qualifiers & | quals, | ||
const std::shared_ptr< NamedTypeNode > & | type | ||
) |
void retdec::demangler::borland::Context::addNestedName | ( | const std::shared_ptr< NestedNameNode > & | name | ) |
void retdec::demangler::borland::Context::addPointerType | ( | const std::shared_ptr< PointerTypeNode > & | type | ) |
void retdec::demangler::borland::Context::addReferenceType | ( | const std::shared_ptr< ReferenceTypeNode > & | type | ) |
void retdec::demangler::borland::Context::addRReferenceType | ( | const std::shared_ptr< RReferenceTypeNode > & | type | ) |
std::shared_ptr< ArrayNode > retdec::demangler::borland::Context::getArray | ( | std::shared_ptr< Node > | pointee, |
unsigned | size, | ||
const Qualifiers & | quals | ||
) |
std::shared_ptr< BuiltInTypeNode > retdec::demangler::borland::Context::getBuiltInType | ( | const std::string & | name, |
const Qualifiers & | quals | ||
) | const |
std::shared_ptr< CharTypeNode > retdec::demangler::borland::Context::getCharType | ( | const ThreeStateSignedness & | signedness, |
const Qualifiers & | quals | ||
) | const |
std::shared_ptr< FloatTypeNode > retdec::demangler::borland::Context::getFloatType | ( | const std::string & | name, |
const Qualifiers & | quals | ||
) | const |
std::shared_ptr< Node > retdec::demangler::borland::Context::getFunction | ( | const std::string & | mangled | ) | const |
std::shared_ptr< IntegralTypeNode > retdec::demangler::borland::Context::getIntegralType | ( | const std::string & | name, |
bool | isUnsigned, | ||
const Qualifiers & | quals | ||
) | const |
std::shared_ptr< NameNode > retdec::demangler::borland::Context::getName | ( | const std::string & | name | ) | const |
std::shared_ptr< NamedTypeNode > retdec::demangler::borland::Context::getNamedType | ( | const std::string & | name, |
const Qualifiers & | quals | ||
) | const |
std::shared_ptr< NestedNameNode > retdec::demangler::borland::Context::getNestedName | ( | std::shared_ptr< Node > | super, |
std::shared_ptr< Node > | name | ||
) |
std::shared_ptr< PointerTypeNode > retdec::demangler::borland::Context::getPointerType | ( | std::shared_ptr< Node > | pointee, |
const Qualifiers & | quals | ||
) | const |
std::shared_ptr< ReferenceTypeNode > retdec::demangler::borland::Context::getReferenceType | ( | std::shared_ptr< Node > | pointee | ) | const |
std::shared_ptr< RReferenceTypeNode > retdec::demangler::borland::Context::getRReferenceType | ( | std::shared_ptr< Node > | pointee | ) | const |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |