def __getarray(cls, ea):
try:
c, = xref.data_up(ea)
sidata,each = type.array(ea),__builtin__.set(xref.code_down(c))
# check to see if first element is the correct dataref
lastea, = xref.data_down(c)
if ea != lastea: raise TypeError
# then copy the first element since it's been decoded already
each.add(sidata[0])
# ensure that each element matches
if config.bits() == sidata.itemsize*8 and all(x in each for x in sidata):
r, = xref.data_up(ea)
return cls.__getinsn(r)
except (IndexError,TypeError,KeyError,ValueError): pass
raise TypeError("{:s}({:x}) : Unable to instantiate a switch_info_ex_t at switch array.".format('.'.join((__name__, 'type', cls.__name__)), ea))
评论列表
文章目录