diff options
Diffstat (limited to 'function.cpp')
| -rw-r--r-- | function.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/function.cpp b/function.cpp index b671f283..45333ebf 100644 --- a/function.cpp +++ b/function.cpp @@ -2169,6 +2169,37 @@ vector<VariableReferenceSource> Function::GetHighLevelILVariableReferencesInRang } +uint64_t Function::GetHighestAddress() +{ + return BNGetFunctionHighestAddress(m_object); +} + + +uint64_t Function::GetLowestAddress() +{ + return BNGetFunctionLowestAddress(m_object); +} + + +std::vector<BNAddressRange> Function::GetAddressRanges() +{ + size_t count; + BNAddressRange* ranges = BNGetFunctionAddressRanges(m_object, &count); + + std::vector<BNAddressRange> result; + copy(&ranges[0], &ranges[count], back_inserter(result)); + BNFreeAddressRanges(ranges); + return result; +} + + +bool Function::GetInstructionContainingAddress(Architecture* arch, + uint64_t addr, uint64_t* start) +{ + return BNGetInstructionContainingAddress(m_object, arch->GetObject(), addr, start); +} + + AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor(Function* func): m_func(func) { if (m_func) |
