Source code for angr.analyses.propagator.vex_vars
# VEX Variables
[docs]class VEXVariable:
__slots__ = ()
def __hash__(self):
raise NotImplementedError()
def __eq__(self, other):
raise NotImplementedError()
[docs]class VEXMemVar:
__slots__ = (
"addr",
"size",
)
def __hash__(self):
return hash((VEXMemVar, self.addr, self.size))
def __eq__(self, other):
return type(other) is VEXMemVar and other.addr == self.addr and other.size == self.size
def __repr__(self):
return "<mem %#x[%d bytes]>" % (self.addr, self.size)
[docs]class VEXReg(VEXVariable):
__slots__ = (
"offset",
"size",
)
def __hash__(self):
return hash((VEXReg, self.offset, self.size))
def __eq__(self, other):
return type(other) is VEXReg and other.offset == self.offset and other.size == self.size
def __repr__(self):
return "<reg %d[%d]>" % (self.offset, self.size)