diff options
| author | Peter LaFosse <peter@vector35.com> | 2024-01-15 10:10:19 -0500 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2024-01-15 10:12:32 -0500 |
| commit | d2e0420679ad9cfc0a25ccf768cdfef7bb14c978 (patch) | |
| tree | e0dc7a0ec63b8954066bbbc0e04f3d931e62380e | |
| parent | 716e62cc3e1dc493c3065cd9cd4f183e540b52ef (diff) | |
Add 'Merge Variables Here' action
| -rw-r--r-- | ui/flowgraphwidget.h | 2 | ||||
| -rw-r--r-- | ui/linearview.h | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/ui/flowgraphwidget.h b/ui/flowgraphwidget.h index 631c58c8..c267a1d0 100644 --- a/ui/flowgraphwidget.h +++ b/ui/flowgraphwidget.h @@ -160,6 +160,7 @@ class BINARYNINJAUIAPI FlowGraphWidget : void recenterUpdatedGraph(FlowGraphRef oldGraph, int oldXOfs, int oldYOfs); BNDeadStoreElimination getCurrentVariableDeadStoreElimination(); + std::optional<std::pair<BinaryNinja::Variable, BinaryNinja::Variable>> getMergeVariablesAtCurrentLocation(); protected: virtual void paintEvent(QPaintEvent* event) override; @@ -361,6 +362,7 @@ class BINARYNINJAUIAPI FlowGraphWidget : void tagAddressAccepted(TagTypeRef tt); void manageAddressTags(); void mergeVariables(); + void mergeVariablesAtCurrentLocation(); void splitVariable(); void convertToNop(); diff --git a/ui/linearview.h b/ui/linearview.h index 3353967b..7f590ce0 100644 --- a/ui/linearview.h +++ b/ui/linearview.h @@ -3,6 +3,8 @@ #include <QtWidgets/QAbstractScrollArea> #include <QtCore/QTimer> #include <shared_mutex> +#include <optional> +#include <utility> #include "binaryninjaapi.h" #include "viewframe.h" #include "render.h" @@ -303,6 +305,7 @@ class BINARYNINJAUIAPI LinearView : public QAbstractScrollArea, public View, pub BNDeadStoreElimination getCurrentVariableDeadStoreElimination(); void setDataButtonVisible(bool visible); + std::optional<std::pair<BinaryNinja::Variable, BinaryNinja::Variable>> getMergeVariablesAtCurrentLocation(); private Q_SLOTS: void adjustSize(int width, int height); @@ -359,6 +362,7 @@ private Q_SLOTS: void createStruct(); void createNewTypes(); void mergeVariables(); + void mergeVariablesAtCurrentLocation(); void splitVariable(); //! Get the length of of the string (if there is one) starting at the |
