From 9aa54ef6723ad06b019c02c22b574516dca6289b Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Mon, 21 Oct 2024 10:55:45 -0400 Subject: Linear view function regions collapse Update collapse code to support PseudoC --- function.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'function.cpp') diff --git a/function.cpp b/function.cpp index 33cb5e52..ab441193 100644 --- a/function.cpp +++ b/function.cpp @@ -20,6 +20,7 @@ #include "binaryninjaapi.h" #include "mediumlevelilinstruction.h" +#include "highlevelilinstruction.h" #include using namespace BinaryNinja; @@ -3261,6 +3262,47 @@ void Function::SetUserInlinedDuringAnalysis(Confidence inlined) } +void Function::ToggleRegion(uint64_t hash) +{ + BNFunctionToggleRegion(m_object, hash); +} + + +void Function::CollapseRegion(uint64_t hash) +{ + BNFunctionCollapseRegion(m_object, hash); +} + + +void Function::ExpandRegion(uint64_t hash) +{ + BNFunctionExpandRegion(m_object, hash); +} + + +bool Function::IsCollapsed() const +{ + return IsRegionCollapsed(GetStart()); +} + + +bool Function::IsInstructionCollapsed(const HighLevelILInstruction& instr, uint64_t designator) const +{ + return IsRegionCollapsed(instr.GetInstructionHash(designator)); +} + + +bool Function::IsRegionCollapsed(uint64_t hash) const +{ + return BNFunctionIsRegionCollapsed(m_object, hash); +} + + +void Function::ExpandAll() +{ + BNFunctionExpandAll(m_object); +} + AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor(Function* func) : m_func(func) { if (m_func) -- cgit v1.3.1