(self, variable)
return prevdefs
This is a backward lookup in the previous defs. Note that, as we are using VSA, it is possible that `variable`
        is affected by several definitions.

        :param angr.analyses.ddg.LiveDefinitions live_defs:
                            The collection of live definitions.
        :param SimVariable: The variable to lookup for definitions.
        :returns:           A dict {stmt:labels} where label is the number of individual addresses of `addr_list` (or
                            the actual set of addresses depending on the keep_addrs flag) that are definted by stmt.
This is a backward lookup in the previous defs. Note that, as we are using VSA, it is possible that `variable`
        is affected by several definitions.
This is a backward lookup in the previous defs . Note that as we are using VSA it is possible that variable is affected by several definitions .
def _def_lookup(self, variable):  # pylint:disable=no-self-use
        """
        This is a backward lookup in the previous defs. Note that, as we are using VSA, it is possible that `variable`
        is affected by several definitions.

        :param angr.analyses.ddg.LiveDefinitions live_defs:
                            The collection of live definitions.
        :param SimVariable: The variable to lookup for definitions.
        :returns:           A dict {stmt:labels} where label is the number of individual addresses of `addr_list` (or
                            the actual set of addresses depending on the keep_addrs flag) that are definted by stmt.
        """

        prevdefs = {}

        for code_loc in self._live_defs.lookup_defs(variable):
            # Label edges with cardinality or actual sets of addresses
            if isinstance(variable, SimMemoryVariable):
                type_ = 'mem'
            elif isinstance(variable, SimRegisterVariable):
                type_ = 'reg'
            else:
                raise AngrDDGError('Unknown variable type %s' % type(variable))

            prevdefs[code_loc] = {
                'type': type_,
                'data': variable
            }

        return prevdefs
def _def_lookup ( self , variable ) : # pylint:disable=no-self-use prevdefs = { } for code_loc in self . _live_defs . lookup_defs ( variable ) : # Label edges with cardinality or actual sets of addresses if isinstance ( variable , SimMemoryVariable ) : type_ = 'mem' elif isinstance ( variable , SimRegisterVariable ) : type_ = 'reg' else : raise AngrDDGError ( 'Unknown variable type %s' % type ( variable ) ) prevdefs [ code_loc ] = { 'type' : type_ , 'data' : variable } return prevdefs