macdependency/MachO/symboltableentry.h
Mike Lischke 972fcb3094 Overhaul of the application to avoid it crashing on macOS Sierra.
- Applied all recommended XCode (8) settings.
- Removed boost and replaced that code by standard functions.
- Implemented name mangling via abi::__cxa_demangle instead of running an external process to use c++filt.
- Enabled C++11. Min deployment target is now OSX 10.7.
- Some code clean up (e.g. formatting, std namespace).
2016-11-19 16:23:39 +01:00

34 lines
641 B
C++

#ifndef SYMBOLTABLEENTRY_H
#define SYMBOLTABLEENTRY_H
#include "macho_global.h"
#include <mach-o/nlist.h>
class MachOFile;
class EXPORT SymbolTableEntry
{
public:
SymbolTableEntry(MachOFile& file, char* stringTable);
virtual ~SymbolTableEntry();
std::string getName(bool shouldDemangle) const;
enum Type {
TypeExported = 0,
TypeImported,
TypeLocal,
TypeDebug,
TypePrivateExtern,
NumTypes
};
Type getType() const;
virtual unsigned int getInternalType() const = 0;
virtual const char* getInternalName() const = 0;
protected:
MachOFile& file;
char* stringTable;
};
#endif // SYMBOLTABLEENTRY_H