Skip to content

Commit 620588c

Browse files
committed
Add long Symbol constructor for no namespace allocation
This allows us to construct a symbol without constructing a namespace, while also giving us the ability to specify raw, long, short names
1 parent edcba92 commit 620588c

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

binaryninjaapi.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3934,6 +3934,8 @@ namespace BinaryNinja {
39343934
const NameSpace& nameSpace = NameSpace(DEFAULT_INTERNAL_NAMESPACE), uint64_t ordinal = 0);
39353935
Symbol(BNSymbolType type, const std::string& name, uint64_t addr, BNSymbolBinding binding = NoBinding,
39363936
const NameSpace& nameSpace = NameSpace(DEFAULT_INTERNAL_NAMESPACE), uint64_t ordinal = 0);
3937+
Symbol(BNSymbolType type, const std::string& shortName, const std::string& fullName, const std::string& rawName,
3938+
uint64_t addr, BNNameSpace* nameSpace, BNSymbolBinding binding = NoBinding, uint64_t ordinal = 0);
39373939
Symbol(BNSymbolType type, const std::string& name, uint64_t addr, BNNameSpace* nameSpace,
39383940
BNSymbolBinding binding = NoBinding, uint64_t ordinal = 0);
39393941
Symbol(BNSymbol* sym);

binaryview.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,13 @@ Symbol::Symbol(BNSymbolType type, const std::string& name, uint64_t addr, BNSymb
745745
}
746746

747747

748+
Symbol::Symbol(BNSymbolType type, const string& shortName, const string& fullName, const string& rawName, uint64_t addr,
749+
BNNameSpace* nameSpace, BNSymbolBinding binding, uint64_t ordinal)
750+
{
751+
m_object = BNCreateSymbol(type, shortName.c_str(), fullName.c_str(), rawName.c_str(), addr, binding, nameSpace, ordinal);
752+
}
753+
754+
748755
Symbol::Symbol(BNSymbolType type, const std::string& name, uint64_t addr, BNNameSpace* nameSpace, BNSymbolBinding binding, uint64_t ordinal)
749756
{
750757
m_object = BNCreateSymbol(type, name.c_str(), name.c_str(), name.c_str(), addr, binding, nameSpace, ordinal);

0 commit comments

Comments
 (0)