summaryrefslogtreecommitdiff
path: root/highlevelil.cpp
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2020-04-27 23:14:44 -0400
committerRusty Wagner <rusty@vector35.com>2020-04-27 23:15:19 -0400
commit68a9e96c98dbed4e4154a13ffec7b9c94876661a (patch)
tree63088d43c0ea630e1df3511a2f00131f5598e326 /highlevelil.cpp
parent8947d620ff982ac5a40e925cce5d95637618a688 (diff)
Add names for goto labels
Diffstat (limited to 'highlevelil.cpp')
-rw-r--r--highlevelil.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/highlevelil.cpp b/highlevelil.cpp
index f97b11d3..264af7c3 100644
--- a/highlevelil.cpp
+++ b/highlevelil.cpp
@@ -460,3 +460,23 @@ Ref<FlowGraph> HighLevelILFunction::CreateFunctionGraph(DisassemblySettings* set
BNFlowGraph* graph = BNCreateHighLevelILFunctionGraph(m_object, settings ? settings->GetObject() : nullptr);
return new CoreFlowGraph(graph);
}
+
+
+size_t HighLevelILFunction::GetExprIndexForLabel(uint64_t label)
+{
+ return BNGetHighLevelILExprIndexForLabel(m_object, label);
+}
+
+
+set<size_t> HighLevelILFunction::GetUsesForLabel(uint64_t label)
+{
+ size_t count;
+ size_t* uses = BNGetHighLevelILUsesForLabel(m_object, label, &count);
+
+ set<size_t> result;
+ for (size_t i = 0; i < count; i++)
+ result.insert(uses[i]);
+
+ BNFreeILInstructionList(uses);
+ return result;
+}