summaryrefslogtreecommitdiff
path: root/mediumlevelil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mediumlevelil.cpp')
-rw-r--r--mediumlevelil.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/mediumlevelil.cpp b/mediumlevelil.cpp
index 71604caf..6827c356 100644
--- a/mediumlevelil.cpp
+++ b/mediumlevelil.cpp
@@ -847,3 +847,17 @@ Ref<FlowGraph> MediumLevelILFunction::CreateFunctionGraph(DisassemblySettings* s
BNFlowGraph* graph = BNCreateMediumLevelILFunctionGraph(m_object, settings ? settings->GetObject() : nullptr);
return new CoreFlowGraph(graph);
}
+
+
+set<size_t> MediumLevelILFunction::GetLiveInstructionsForVariable(const Variable& var, bool includeLastUse)
+{
+ size_t count;
+ size_t* instrs = BNGetMediumLevelILLiveInstructionsForVariable(m_object, &var, includeLastUse, &count);
+
+ set<size_t> result;
+ for (size_t i = 0; i < count; i++)
+ result.insert(instrs[i]);
+
+ BNFreeILInstructionList(instrs);
+ return result;
+}