MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / get_all_user_var_values

Method get_all_user_var_values

python/function.py:2984–3007  ·  view source on GitHub ↗

Returns a map of current defined user variable values. :returns: Map of user current defined user variable values and their definition sites. :type: dict of (Variable, dict of (ArchAndAddr, PossibleValueSet))

(
	    self
	)

Source from the content-addressed store, hash-verified

2982 core.BNClearUserVariableValue(self.handle, var.to_BNVariable(), def_site, after)
2983
2984 def get_all_user_var_values(
2985 self
2986 ) -> Dict['variable.Variable', Dict['ArchAndAddr', 'variable.PossibleValueSet']]:
2987 """
2988 Returns a map of current defined user variable values.
2989
2990 :returns: Map of user current defined user variable values and their definition sites.
2991 :type: dict of (Variable, dict of (ArchAndAddr, PossibleValueSet))
2992 """
2993 count = ctypes.c_ulonglong(0)
2994 var_values = core.BNGetAllUserVariableValues(self.handle, count)
2995 assert var_values is not None, "core.BNGetAllUserVariableValues returned None"
2996 try:
2997 result = {}
2998 for i in range(count.value):
2999 var_val = var_values[i]
3000 var = variable.Variable.from_BNVariable(self, var_val.var)
3001 if var not in result:
3002 result[var] = {}
3003 def_site = ArchAndAddr(architecture.CoreArchitecture._from_cache(var_val.defSite.arch), var_val.defSite.address)
3004 result[var][def_site] = variable.PossibleValueSet(def_site.arch, var_val.value)
3005 return result
3006 finally:
3007 core.BNFreeUserVariableValues(var_values)
3008
3009 def clear_all_user_var_values(self) -> None:
3010 """

Callers 1

Calls 3

ArchAndAddrClass · 0.70
from_BNVariableMethod · 0.45
_from_cacheMethod · 0.45

Tested by

no test coverage detected