diff options
| author | Glenn Smith <glenn@vector35.com> | 2025-02-06 15:00:04 -0500 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2025-02-06 15:04:05 -0500 |
| commit | 3355345145771291936738938721961916331716 (patch) | |
| tree | 86c4e52556610081deb3bfc790bb01ac62906c99 /mediumlevelil.cpp | |
| parent | 1473293c5e4463b5667e886b6e709582fc856872 (diff) | |
Add After variants for looking up variables at instructions
Fixes #6397
Diffstat (limited to 'mediumlevelil.cpp')
| -rw-r--r-- | mediumlevelil.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/mediumlevelil.cpp b/mediumlevelil.cpp index a0a0b9dd..13a1a959 100644 --- a/mediumlevelil.cpp +++ b/mediumlevelil.cpp @@ -617,30 +617,60 @@ size_t MediumLevelILFunction::GetSSAVarVersionAtInstruction(const Variable& var, } +size_t MediumLevelILFunction::GetSSAVarVersionAfterInstruction(const Variable& var, size_t instr) const +{ + return BNGetMediumLevelILSSAVarVersionAfterILInstruction(m_object, &var, instr); +} + + size_t MediumLevelILFunction::GetSSAMemoryVersionAtInstruction(size_t instr) const { return BNGetMediumLevelILSSAMemoryVersionAtILInstruction(m_object, instr); } +size_t MediumLevelILFunction::GetSSAMemoryVersionAfterInstruction(size_t instr) const +{ + return BNGetMediumLevelILSSAMemoryVersionAfterILInstruction(m_object, instr); +} + + Variable MediumLevelILFunction::GetVariableForRegisterAtInstruction(uint32_t reg, size_t instr) const { return BNGetMediumLevelILVariableForRegisterAtInstruction(m_object, reg, instr); } +Variable MediumLevelILFunction::GetVariableForRegisterAfterInstruction(uint32_t reg, size_t instr) const +{ + return BNGetMediumLevelILVariableForRegisterAfterInstruction(m_object, reg, instr); +} + + Variable MediumLevelILFunction::GetVariableForFlagAtInstruction(uint32_t flag, size_t instr) const { return BNGetMediumLevelILVariableForFlagAtInstruction(m_object, flag, instr); } +Variable MediumLevelILFunction::GetVariableForFlagAfterInstruction(uint32_t flag, size_t instr) const +{ + return BNGetMediumLevelILVariableForFlagAfterInstruction(m_object, flag, instr); +} + + Variable MediumLevelILFunction::GetVariableForStackLocationAtInstruction(int64_t offset, size_t instr) const { return BNGetMediumLevelILVariableForStackLocationAtInstruction(m_object, offset, instr); } +Variable MediumLevelILFunction::GetVariableForStackLocationAfterInstruction(int64_t offset, size_t instr) const +{ + return BNGetMediumLevelILVariableForStackLocationAfterInstruction(m_object, offset, instr); +} + + RegisterValue MediumLevelILFunction::GetRegisterValueAtInstruction(uint32_t reg, size_t instr) { BNRegisterValue value = BNGetMediumLevelILRegisterValueAtInstruction(m_object, reg, instr); |
