diff options
| author | Brandon Miller <brandon@vector35.com> | 2025-05-19 11:46:24 -0400 |
|---|---|---|
| committer | Brandon Miller <brandon@vector35.com> | 2025-05-19 11:46:24 -0400 |
| commit | e6496396f37f337f3a8422fdb66f261257d25b61 (patch) | |
| tree | 9f18a999420103338bb6b7f284da1060e4fd01d9 /function.cpp | |
| parent | 42886bea7384f0163c43bacc5afa7b9ffe6a589c (diff) | |
Implement function level metadata
Diffstat (limited to 'function.cpp')
| -rw-r--r-- | function.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/function.cpp b/function.cpp index 07f685a5..cc9a8e13 100644 --- a/function.cpp +++ b/function.cpp @@ -3369,6 +3369,42 @@ void Function::ExpandAll() BNFunctionExpandAll(m_object); } + +void Function::StoreMetadata(const std::string& key, Ref<Metadata> value, bool isAuto) +{ + if (!value) + return; + BNFunctionStoreMetadata(m_object, key.c_str(), value->GetObject(), isAuto); +} + + +Ref<Metadata> Function::QueryMetadata(const std::string& key) +{ + BNMetadata* value = BNFunctionQueryMetadata(m_object, key.c_str()); + if (!value) + return nullptr; + return new Metadata(value); +} + + +Ref<Metadata> Function::GetMetadata() +{ + return new Metadata(BNFunctionGetMetadata(m_object)); +} + + +Ref<Metadata> Function::GetAutoMetadata() +{ + return new Metadata(BNFunctionGetAutoMetadata(m_object)); +} + + +void Function::RemoveMetadata(const std::string& key) +{ + BNFunctionRemoveMetadata(m_object, key.c_str()); +} + + AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor(Function* func) : m_func(func) { if (m_func) |
