def _get_vdloc(dct):
     location = ida_hexrays.vdloc_t()
     if dct['atype'] == ida_typeinf.ALOC_NONE:
         pass
     elif dct['atype'] == ida_typeinf.ALOC_STACK:
         location.set_stkoff(dct['stkoff'])
     elif dct['atype'] == ida_typeinf.ALOC_DIST:
         pass  # Not supported (yet)
     elif dct['atype'] == ida_typeinf.ALOC_REG1:
         location.set_reg1(dct['reg1'])
     elif dct['atype'] == ida_typeinf.ALOC_REG2:
         location.set_reg2(dct['reg1'], dct['reg2'])
     elif dct['atype'] == ida_typeinf.ALOC_RREL:
         pass  # Not supported (yet)
     elif dct['atype'] == ida_typeinf.ALOC_STATIC:
         location.set_ea(dct['ea'])
     elif dct['atype'] == ida_typeinf.ALOC_CUSTOM:
         pass  # Not supported (yet)
     return location
Exemplo n.º 2
0
 def _get_vdloc(dct):
     location = ida_hexrays.vdloc_t()
     if dct["atype"] == ida_typeinf.ALOC_NONE:
         pass
     elif dct["atype"] == ida_typeinf.ALOC_STACK:
         location.set_stkoff(dct["stkoff"])
     elif dct["atype"] == ida_typeinf.ALOC_DIST:
         pass  # FIXME: Not supported
     elif dct["atype"] == ida_typeinf.ALOC_REG1:
         location.set_reg1(dct["reg1"])
     elif dct["atype"] == ida_typeinf.ALOC_REG2:
         location.set_reg2(dct["reg1"], dct["reg2"])
     elif dct["atype"] == ida_typeinf.ALOC_RREL:
         pass  # FIXME: Not supported
     elif dct["atype"] == ida_typeinf.ALOC_STATIC:
         location.set_ea(dct["ea"])
     elif dct["atype"] == ida_typeinf.ALOC_CUSTOM:
         pass  # FIXME: Not supported
     return location