diff options
| author | Peter LaFosse <peter@vector35.com> | 2024-10-21 10:55:45 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2024-10-23 20:37:38 -0400 |
| commit | 9aa54ef6723ad06b019c02c22b574516dca6289b (patch) | |
| tree | e0b420a8a609f4644607cad7f6170cf36ee26771 /binaryninjaapi.h | |
| parent | c446e3acbcb0dc750a840551fa7cb54c184e7acb (diff) | |
Linear view function regions collapse
Update collapse code to support PseudoC
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 884861bb..bcaf644e 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -4367,6 +4367,7 @@ namespace BinaryNinja { class TypeLibrary; class TypeArchive; class MemoryMap; + struct HighLevelILInstruction; class QueryMetadataException : public ExceptionWithStackTrace { @@ -10501,6 +10502,8 @@ namespace BinaryNinja { { int m_advancedAnalysisRequests; + bool IsRegionCollapsed(uint64_t hash) const; + public: Function(BNFunction* func); virtual ~Function(); @@ -11094,6 +11097,14 @@ namespace BinaryNinja { Confidence<bool> IsInlinedDuringAnalysis(); void SetAutoInlinedDuringAnalysis(Confidence<bool> inlined); void SetUserInlinedDuringAnalysis(Confidence<bool> inlined); + + // TODO: Documentation + bool IsInstructionCollapsed(const HighLevelILInstruction& instr, uint64_t designator = 0) const; + bool IsCollapsed() const; + void ToggleRegion(uint64_t hash); + void CollapseRegion(uint64_t hash); + void ExpandRegion(uint64_t hash); + void ExpandAll(); }; /*! @@ -18445,6 +18456,12 @@ namespace BinaryNinja { InstructionTextToken::FreeInstructionTextToken(&converted); } + void PrependCollapseIndicator(); + void PrependCollapseIndicator(Ref<Function> function, const HighLevelILInstruction& instr, uint64_t designator = 0); + void PrependCollapseIndicator(BNInstructionTextTokenContext context, uint64_t hash); + bool HasCollapsableRegions(); + void SetHasCollapsableRegions(bool state); + /*! Starts a new line in the output. */ void NewLine(); |
