Skip to content

Commit 7f4989a

Browse files
committed
Add disassembly setting for block labels
1 parent 1febe6f commit 7f4989a

File tree

6 files changed

+29
-3
lines changed

6 files changed

+29
-3
lines changed

basicblock.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,18 @@ void DisassemblySettings::SetCallParameterHints(BNDisassemblyCallParameterHints
144144
}
145145

146146

147+
BNDisassemblyBlockLabels DisassemblySettings::GetBlockLabels() const
148+
{
149+
return BNGetDisassemblyBlockLabels(m_object);
150+
}
151+
152+
153+
void DisassemblySettings::SetBlockLabels(BNDisassemblyBlockLabels labels)
154+
{
155+
BNSetDisassemblyBlockLabels(m_object, labels);
156+
}
157+
158+
147159
BNDisassemblyTextLineTypeInfo DisassemblyTextLineTypeInfo::GetAPIObject() const
148160
{
149161
BNDisassemblyTextLineTypeInfo result;

binaryninjaapi.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11548,6 +11548,8 @@ namespace BinaryNinja {
1154811548
void SetAddressBaseOffset(uint64_t addressBaseOffset);
1154911549
BNDisassemblyCallParameterHints GetCallParameterHints() const;
1155011550
void SetCallParameterHints(BNDisassemblyCallParameterHints hints);
11551+
BNDisassemblyBlockLabels GetBlockLabels() const;
11552+
void SetBlockLabels(BNDisassemblyBlockLabels labels);
1155111553
};
1155211554

1155311555
/*!

binaryninjacore.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
// Current ABI version for linking to the core. This is incremented any time
3838
// there are changes to the API that affect linking, including new functions,
3939
// new types, or modifications to existing functions or types.
40-
#define BN_CURRENT_CORE_ABI_VERSION 131
40+
#define BN_CURRENT_CORE_ABI_VERSION 132
4141

4242
// Minimum ABI version that is supported for loading of plugins. Plugins that
4343
// are linked to an ABI version less than this will not be able to load and
@@ -774,6 +774,13 @@ extern "C"
774774
NeverShowParameterHints,
775775
} BNDisassemblyCallParameterHints;
776776

777+
typedef enum BNDisassemblyBlockLabels
778+
{
779+
NeverShowDefaultBlockLabels,
780+
AlwaysShowBlockLabels,
781+
NeverShowBlockLabels,
782+
} BNDisassemblyBlockLabels;
783+
777784
typedef enum BNTypeClass
778785
{
779786
VoidTypeClass = 0,
@@ -5833,6 +5840,8 @@ extern "C"
58335840
BINARYNINJACOREAPI void BNSetDisassemblyAddressBaseOffset(BNDisassemblySettings* settings, uint64_t addressBaseOffset);
58345841
BINARYNINJACOREAPI BNDisassemblyCallParameterHints BNGetDisassemblyCallParameterHints(BNDisassemblySettings* settings);
58355842
BINARYNINJACOREAPI void BNSetDisassemblyCallParameterHints(BNDisassemblySettings* settings, BNDisassemblyCallParameterHints hints);
5843+
BINARYNINJACOREAPI BNDisassemblyBlockLabels BNGetDisassemblyBlockLabels(BNDisassemblySettings* settings);
5844+
BINARYNINJACOREAPI void BNSetDisassemblyBlockLabels(BNDisassemblySettings* settings, BNDisassemblyBlockLabels labels);
58365845

58375846
// Flow graphs
58385847
BINARYNINJACOREAPI BNFlowGraph* BNCreateFlowGraph(void);

ui/disassemblyview.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ class BINARYNINJAUIAPI DisassemblyView : public FlowGraphWidget
7878
void toggleOption(BNDisassemblyOption option);
7979
void setAddressMode(std::optional<BNDisassemblyAddressMode> mode, std::optional<bool> hex, std::optional<bool> withName);
8080
void setCallParamHints(BNDisassemblyCallParameterHints hints);
81+
void setBlockLabels(BNDisassemblyBlockLabels labels);
8182
void setDisplayedFileName();
8283
void setAddressBaseOffset(bool toHere);
8384

@@ -142,6 +143,7 @@ class BINARYNINJAUIAPI DisassemblyView : public FlowGraphWidget
142143
std::set<BNDisassemblyOption> m_options;
143144
BNDisassemblyAddressMode m_addressMode;
144145
BNDisassemblyCallParameterHints m_callParamHints;
146+
BNDisassemblyBlockLabels m_blockLabels;
145147
DisassemblyContainer* m_container;
146148
SettingsRef m_settings;
147149
std::set<std::string> m_layers;

ui/linearview.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,7 @@ private Q_SLOTS:
511511
void toggleOption(BNDisassemblyOption option);
512512
void setAddressMode(std::optional<BNDisassemblyAddressMode> mode, std::optional<bool> hex, std::optional<bool> withName);
513513
void setCallParamHints(BNDisassemblyCallParameterHints hints);
514+
void setBlockLabels(BNDisassemblyBlockLabels labels);
514515
void setDisplayedFileName();
515516
void setAddressBaseOffset(bool toHere);
516517

ui/uitypes.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
// there are changes to the API that affect linking, including new functions,
77
// new types, modifications to existing functions or types, or new versions
88
// of the Qt libraries.
9-
#define BN_CURRENT_UI_ABI_VERSION 10
9+
#define BN_CURRENT_UI_ABI_VERSION 11
1010

1111
// Minimum ABI version that is supported for loading of plugins. Plugins that
1212
// are linked to an ABI version less than this will not be able to load and
1313
// will require rebuilding. The minimum version is increased when there are
1414
// incompatible changes that break binary compatibility, such as changes to
1515
// existing types or functions, or a new version of Qt.
16-
#define BN_MINIMUM_UI_ABI_VERSION 9
16+
#define BN_MINIMUM_UI_ABI_VERSION 11
1717

1818
#ifdef __GNUC__
1919
#ifdef BINARYNINJAUI_LIBRARY

0 commit comments

Comments
 (0)