summaryrefslogtreecommitdiff
path: root/highlevelilinstruction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'highlevelilinstruction.cpp')
-rw-r--r--highlevelilinstruction.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/highlevelilinstruction.cpp b/highlevelilinstruction.cpp
index ad8f416d..7f4bad39 100644
--- a/highlevelilinstruction.cpp
+++ b/highlevelilinstruction.cpp
@@ -288,14 +288,18 @@ bool HighLevelILIntegerList::ListIterator::operator<(const ListIterator& a) cons
HighLevelILIntegerList::ListIterator& HighLevelILIntegerList::ListIterator::operator++()
{
count--;
- cur++;
+ offset++;
return *this;
}
uint64_t HighLevelILIntegerList::ListIterator::operator*()
{
- return *cur;
+#ifdef BINARYNINJACORE_LIBRARY
+ return function->GetOperand(offset);
+#else
+ return BNHighLevelILGetOperand(function->GetObject(), offset);
+#endif
}
@@ -303,11 +307,7 @@ HighLevelILIntegerList::HighLevelILIntegerList(
HighLevelILFunction* func, size_t offset, size_t count)
{
m_start.function = func;
-#ifdef BINARYNINJACORE_LIBRARY
- m_start.cur = func->GetOperandPointer(offset);
-#else
- m_start.cur = BNHighLevelILGetOperandPointer(func->GetObject(), offset);
-#endif
+ m_start.offset = offset;
m_start.count = count;
}
@@ -322,7 +322,7 @@ HighLevelILIntegerList::const_iterator HighLevelILIntegerList::end() const
{
const_iterator result;
result.function = m_start.function;
- result.cur = m_start.cur + m_start.count;
+ result.offset = m_start.offset + m_start.count;
result.count = 0;
return result;
}
@@ -338,7 +338,11 @@ uint64_t HighLevelILIntegerList::operator[](size_t i) const
{
if (i >= size())
throw HighLevelILInstructionAccessException();
- return m_start.cur[i];
+#ifdef BINARYNINJACORE_LIBRARY
+ return m_start.function->GetOperand(m_start.offset + i);
+#else
+ return BNHighLevelILGetOperand(m_start.function->GetObject(), m_start.offset + i);
+#endif
}