From 40bdfac7b71dd1cbe9223b82518053f80268e2a8 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Tue, 16 Aug 2022 20:49:02 -0400 Subject: Splitting of variables --- ui/commands.h | 3 +++ ui/flowgraphwidget.h | 1 + ui/linearview.h | 1 + 3 files changed, 5 insertions(+) (limited to 'ui') diff --git a/ui/commands.h b/ui/commands.h index 9eee935e..2b1ab86c 100644 --- a/ui/commands.h +++ b/ui/commands.h @@ -43,3 +43,6 @@ uint64_t BINARYNINJAUIAPI getInnerMostStructureOffset( // Auto generate a structure name std::string BINARYNINJAUIAPI createStructureName(BinaryViewRef data); + +std::optional BINARYNINJAUIAPI getSplitVariableForAssignment( + FunctionRef func, BNFunctionGraphType ilType, uint64_t location, const BinaryNinja::Variable& var); diff --git a/ui/flowgraphwidget.h b/ui/flowgraphwidget.h index 13efd46c..c69f8ea7 100644 --- a/ui/flowgraphwidget.h +++ b/ui/flowgraphwidget.h @@ -341,6 +341,7 @@ class BINARYNINJAUIAPI FlowGraphWidget : void tagAddressAccepted(TagTypeRef tt); void manageAddressTags(); void mergeVariables(); + void splitVariable(); void convertToNop(); void alwaysBranch(); diff --git a/ui/linearview.h b/ui/linearview.h index 845862ef..85fb0d5a 100644 --- a/ui/linearview.h +++ b/ui/linearview.h @@ -311,6 +311,7 @@ private Q_SLOTS: void createStruct(); void createNewTypes(); void mergeVariables(); + void splitVariable(); //! Get the length of of the string (if there is one) starting at the //! given address. String type is assumed to be UTF-8 by default, but the -- cgit v1.3.1