retdec
|
#include <names.h>
Public Types | |
enum class | eType { HIGHEST_PRIORITY = 0 , CONFIG_FUNCTION , CONFIG_GLOBAL , CONFIG_SEGMENT , DEBUG_FUNCTION , DEBUG_GLOBAL , LTI_FUNCTION , IMPORT , EXPORT , SYMBOL_FUNCTION , SYMBOL_OBJECT , SYMBOL_FILE , SYMBOL_OTHER , STATIC_CODE , ENTRY_POINT , SECTION , IMPORT_GENERATED , LOWEST_PRIORITY , INVALID } |
Public Member Functions | |
Name () | |
Name (Config *c, const std::string &name, eType type, Lti *lti=nullptr) | |
operator std::string () const | |
operator bool () const | |
bool | operator< (const Name &o) const |
const std::string & | getName () const |
eType | getType () const |
Private Member Functions | |
void | fixPic32Mangling () |
void | fixPostfix () |
Private Attributes | |
std::string | _name |
eType | _type = eType::INVALID |
Representation of one name.
|
strong |
Name type and its priority. Lower number -> higher priority.
retdec::bin2llvmir::Name::Name | ( | ) |
retdec::bin2llvmir::Name::Name | ( | Config * | c, |
const std::string & | name, | ||
eType | type, | ||
Lti * | lti = nullptr |
||
) |
|
private |
|
private |
Remove name's postfix. TODO: This was done in fileformat, but was removed from there. Maybe we should do it only for some types of names (e.g. symbols). Probably we should not take care only of GLIBC, there might be more std postfixes (e.g. GLIBCXX), or any other postfixes (e.g. NSS). Maybe we should keep the postfix somewhere and let the user know this fix happened (e.g. add comment to name).
const std::string & retdec::bin2llvmir::Name::getName | ( | ) | const |
Name::eType retdec::bin2llvmir::Name::getType | ( | ) | const |
|
explicit |
retdec::bin2llvmir::Name::operator std::string | ( | ) | const |
bool retdec::bin2llvmir::Name::operator< | ( | const Name & | o | ) | const |
|
private |
|
private |