summaryrefslogtreecommitdiff
path: root/python/callingconvention.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/callingconvention.py')
-rw-r--r--python/callingconvention.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/python/callingconvention.py b/python/callingconvention.py
index 6ab587a0..5782c8e5 100644
--- a/python/callingconvention.py
+++ b/python/callingconvention.py
@@ -20,7 +20,7 @@
import traceback
import ctypes
-from typing import Optional
+from typing import Optional, Union
# Binary Ninja components
from . import _binaryninjacore as core
@@ -29,6 +29,11 @@ from . import variable
from . import function
from . import architecture
+FunctionOrILFunction = Union["binaryninja.function.Function",
+ "binaryninja.lowlevelil.LowLevelILFunction",
+ "binaryninja.mediumlevelil.MediumLevelILFunction",
+ "binaryninja.highlevelil.HighLevelILFunction"]
+
class CallingConvention:
name = None
@@ -439,7 +444,7 @@ class CallingConvention:
func_handle = func.handle
return variable.RegisterValue.from_BNRegisterValue(core.BNGetIncomingFlagValue(self.handle, reg_num, func_handle), self.arch)
- def get_incoming_var_for_parameter_var(self, in_var:'variable.CoreVariable', func:'function.Function') -> 'variable.Variable':
+ def get_incoming_var_for_parameter_var(self, in_var:'variable.CoreVariable', func:FunctionOrILFunction) -> 'variable.Variable':
in_buf = in_var.to_BNVariable()
if func is None:
func_obj = None
@@ -448,7 +453,7 @@ class CallingConvention:
out_var = core.BNGetIncomingVariableForParameterVariable(self.handle, in_buf, func_obj)
return variable.Variable.from_BNVariable(func, out_var)
- def get_parameter_var_for_incoming_var(self, in_var:'variable.CoreVariable', func:'function.Function') -> 'variable.Variable':
+ def get_parameter_var_for_incoming_var(self, in_var:'variable.CoreVariable', func:FunctionOrILFunction) -> 'variable.Variable':
in_buf = in_var.to_BNVariable()
if func is None:
func_obj = None