summaryrefslogtreecommitdiff
path: root/highlevelil.cpp
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2020-11-21 17:55:26 -0500
committerBrian Potchik <brian@vector35.com>2020-11-21 17:55:26 -0500
commitdf48a9ee65c4fa3b60f3bfebb36aa03d8dd40f2d (patch)
treec4b5686db405729323bc06659bcc74135673fe9a /highlevelil.cpp
parent20b03bd36ec247b8c28dc1643f57b21ec94c8294 (diff)
Add improved instruction mapping APIs.
Diffstat (limited to 'highlevelil.cpp')
-rw-r--r--highlevelil.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/highlevelil.cpp b/highlevelil.cpp
index 264af7c3..6c304d0e 100644
--- a/highlevelil.cpp
+++ b/highlevelil.cpp
@@ -384,6 +384,20 @@ size_t HighLevelILFunction::GetMediumLevelILExprIndex(size_t expr) const
}
+set<size_t> HighLevelILFunction::GetMediumLevelILExprIndexes(size_t expr) const
+{
+ size_t count;
+ size_t* exprs = BNGetMediumLevelILExprIndexesFromHighLevelIL(m_object, expr, &count);
+
+ set<size_t> result;
+ for (size_t i = 0; i < count; i++)
+ result.insert(exprs[i]);
+
+ BNFreeILInstructionList(exprs);
+ return result;
+}
+
+
void HighLevelILFunction::UpdateInstructionOperand(size_t i, size_t operandIndex, ExprId value)
{
BNUpdateHighLevelILOperand(m_object, i, operandIndex, value);