diff options
| -rw-r--r-- | docs/guide/index.md | 1 | ||||
| -rw-r--r-- | ui/commands.h | 3 | ||||
| -rw-r--r-- | ui/flowgraphwidget.h | 3 | ||||
| -rw-r--r-- | ui/linearview.h | 3 |
4 files changed, 10 insertions, 0 deletions
diff --git a/docs/guide/index.md b/docs/guide/index.md index d8f44780..8f5a7930 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -516,6 +516,7 @@ To search in the keybindings list, just click to make sure it's focused and star - `i` : Cycle between disassembly, LLIL, MLIL and HLIL - `t` : Switch to type view - `y` : Change type of currently selected element + - `q` : Forward propagate the type of the selected function or variable - `a` : Change the data type to an ASCII string - `[SHIFT] a` : Change the data type to a `wchar_t` string - `[OPT-SHIFT] a` (macOS) : Change the data type to a `wchar32_t` string diff --git a/ui/commands.h b/ui/commands.h index b0798a9b..3af4f11b 100644 --- a/ui/commands.h +++ b/ui/commands.h @@ -61,6 +61,9 @@ std::optional<size_t> getVariableDefinitionInstructionIndex( std::optional<size_t> getVariableDefinitionAddress( FunctionRef func, BNFunctionGraphType funcType, const BinaryNinja::Variable& var, size_t ilInstructionIndex); +bool IsDefaultArgumentOrParameterName(const std::string& name); +std::optional<std::string> GetVariableNameFromExpr(BinaryNinja::Function* func, + const BinaryNinja::HighLevelILInstruction& instr); /*! @} diff --git a/ui/flowgraphwidget.h b/ui/flowgraphwidget.h index 7c6ad26c..667d088c 100644 --- a/ui/flowgraphwidget.h +++ b/ui/flowgraphwidget.h @@ -354,6 +354,9 @@ class BINARYNINJAUIAPI FlowGraphWidget : void createFuncWithPlatform(PlatformRef platform, bool autoSelect = false); void changeType(); void inferStructureType(const UIActionContext& context); + void forwardPropagateType(); + void inferFunctionType(); + void propagateVariableTypeAndName(); void comment(); void addUserXref(); void functionComment(); diff --git a/ui/linearview.h b/ui/linearview.h index 29021a7a..caa0b439 100644 --- a/ui/linearview.h +++ b/ui/linearview.h @@ -331,6 +331,9 @@ private Q_SLOTS: void editFunctionProperties(); void undefineFunc(); void reanalyze(); + void forwardPropagateType(); + void inferFunctionType(); + void propagateVariableTypeAndName(); void comment(); void commentAccepted(); void addUserXref(); |
