summaryrefslogtreecommitdiff
path: root/function.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'function.cpp')
-rw-r--r--function.cpp36
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)