summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2020-04-27 23:14:44 -0400
committerRusty Wagner <rusty@vector35.com>2020-04-27 23:15:19 -0400
commit68a9e96c98dbed4e4154a13ffec7b9c94876661a (patch)
tree63088d43c0ea630e1df3511a2f00131f5598e326 /binaryninjaapi.h
parent8947d620ff982ac5a40e925cce5d95637618a688 (diff)
Add names for goto labels
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 7a864b58..af68eafd 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -3144,6 +3144,9 @@ __attribute__ ((format (printf, 1, 2)))
Ref<FlowGraph> GetUnresolvedStackAdjustmentGraph();
void RequestDebugReport(const std::string& name);
+
+ std::string GetGotoLabelName(uint64_t labelId);
+ void SetGotoLabelName(uint64_t labelId, const std::string& name);
};
class AdvancedFunctionAnalysisDataRequestor
@@ -4070,8 +4073,8 @@ __attribute__ ((format (printf, 1, 2)))
ExprId Jump(ExprId dest, const ILSourceLocation& loc = ILSourceLocation());
ExprId Return(const std::vector<ExprId>& sources, const ILSourceLocation& loc = ILSourceLocation());
ExprId NoReturn(const ILSourceLocation& loc = ILSourceLocation());
- ExprId Goto(size_t target, const ILSourceLocation& loc = ILSourceLocation());
- ExprId Label(size_t target, const ILSourceLocation& loc = ILSourceLocation());
+ ExprId Goto(uint64_t target, const ILSourceLocation& loc = ILSourceLocation());
+ ExprId Label(uint64_t target, const ILSourceLocation& loc = ILSourceLocation());
ExprId VarDeclare(const Variable& var, const ILSourceLocation& loc = ILSourceLocation());
ExprId VarInit(size_t size, const Variable& dest, ExprId src,
const ILSourceLocation& loc = ILSourceLocation());
@@ -4280,6 +4283,9 @@ __attribute__ ((format (printf, 1, 2)))
void VisitAllExprs(const std::function<bool(const HighLevelILInstruction& expr)>& func);
Ref<FlowGraph> CreateFunctionGraph(DisassemblySettings* settings = nullptr);
+
+ size_t GetExprIndexForLabel(uint64_t label);
+ std::set<size_t> GetUsesForLabel(uint64_t label);
};
class FunctionRecognizer