From 53640fb603ef58baf02bb43746046f9f62603f30 Mon Sep 17 00:00:00 2001 From: KyleMiles Date: Mon, 1 Nov 2021 23:15:54 -0400 Subject: Resolves #2748; Variable.ssa_versions; Fixes some type annotations --- python/callingconvention.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'python/callingconvention.py') 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 -- cgit v1.3.1