diff options
| author | Brian Potchik <brian@vector35.com> | 2020-11-21 17:55:26 -0500 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2020-11-21 17:55:26 -0500 |
| commit | df48a9ee65c4fa3b60f3bfebb36aa03d8dd40f2d (patch) | |
| tree | c4b5686db405729323bc06659bcc74135673fe9a /highlevelil.cpp | |
| parent | 20b03bd36ec247b8c28dc1643f57b21ec94c8294 (diff) | |
Add improved instruction mapping APIs.
Diffstat (limited to 'highlevelil.cpp')
| -rw-r--r-- | highlevelil.cpp | 14 |
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); |
