summaryrefslogtreecommitdiff
path: root/mediumlevelil.cpp
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2017-03-15 19:51:15 -0400
committerRusty Wagner <rusty@vector35.com>2017-03-15 19:51:15 -0400
commitda77a3011450e694a506c8d16ef084a28bc58214 (patch)
tree493a05426befa68c05a5c41ab102cab13184253a /mediumlevelil.cpp
parent42cb99079d4ff0a5aa49e7730bb73500d13f35dd (diff)
APIs for performing range analysis
Diffstat (limited to 'mediumlevelil.cpp')
-rw-r--r--mediumlevelil.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/mediumlevelil.cpp b/mediumlevelil.cpp
index dcd1fe8e..51dd067d 100644
--- a/mediumlevelil.cpp
+++ b/mediumlevelil.cpp
@@ -262,6 +262,12 @@ size_t MediumLevelILFunction::GetIndexForInstruction(size_t i) const
}
+size_t MediumLevelILFunction::GetInstructionForExpr(size_t expr) const
+{
+ return BNGetMediumLevelILInstructionForExpr(m_object, expr);
+}
+
+
size_t MediumLevelILFunction::GetInstructionCount() const
{
return BNGetMediumLevelILInstructionCount(m_object);
@@ -444,6 +450,20 @@ RegisterValue MediumLevelILFunction::GetExprValue(size_t expr)
}
+RegisterValue MediumLevelILFunction::GetPossibleSSAVarValues(const BNILVariable& var, size_t idx, size_t instr)
+{
+ BNRegisterValue value = BNGetMediumLevelILPossibleSSAVarValues(m_object, &var, idx, instr);
+ return RegisterValue::FromAPIObject(value);
+}
+
+
+RegisterValue MediumLevelILFunction::GetPossibleExprValues(size_t expr)
+{
+ BNRegisterValue value = BNGetMediumLevelILPossibleExprValues(m_object, expr);
+ return RegisterValue::FromAPIObject(value);
+}
+
+
size_t MediumLevelILFunction::GetSSAVarIndexAtInstruction(const BNILVariable& var, size_t instr) const
{
return BNGetMediumLevelILSSAVarIndexAtILInstruction(m_object, &var, instr);