angr.utils.vvar_set

class angr.utils.vvar_set.VVarSet

Bases: object

A set of non-negative integers (virtual variable IDs) stored as one Python int bitmask.

Liveness sets are wide (thousands of ids) and numerous (two per block), so a hash set costs tens of bytes per element while a bitmask costs one bit. It supports the subset of the set protocol that liveness and its consumers use; mixed operations with real sets are accepted and return the type of the left operand.

__init__(iterable=())
Parameters:

iterable (Iterable[int])

classmethod from_bits(bits)
Return type:

VVarSet

Parameters:

bits (int)

property bits: int
add(v)
Return type:

None

Parameters:

v (int)

discard(v)
Return type:

None

Parameters:

v (int)

remove(v)
Return type:

None

Parameters:

v (int)

update(other)
Return type:

None

Parameters:

other (Iterable[int])

difference_update(other)
Return type:

None

Parameters:

other (Iterable[int])

intersection_update(other)
Return type:

None

Parameters:

other (Iterable[int])

clear()
Return type:

None

copy()
Return type:

VVarSet

isdisjoint(other)
Return type:

bool

Parameters:

other (Iterable[int])

issubset(other)
Return type:

bool

Parameters:

other (Iterable[int])

issuperset(other)
Return type:

bool

Parameters:

other (Iterable[int])

union(other)

Return self|value.

Return type:

VVarSet

Parameters:

other (Iterable[int])

intersection(other)
Return type:

VVarSet

Parameters:

other (Iterable[int])

difference(other)
Return type:

VVarSet

Parameters:

other (Iterable[int])