def __call__(self): labels = ida_hexrays.user_labels_new() for org_label, name in self.labels: name = Event.encode(name) ida_hexrays.user_labels_insert(labels, org_label, name) ida_hexrays.save_user_labels(self.ea, labels) HexRaysEvent.refresh_pseudocode_view()
def _get_user_labels(ea): user_labels = ida_hexrays.restore_user_labels(ea) if user_labels is None: user_labels = ida_hexrays.user_labels_new() labels = [] it = ida_hexrays.user_labels_begin(user_labels) while it != ida_hexrays.user_labels_end(user_labels): org_label = ida_hexrays.user_labels_first(it) name = ida_hexrays.user_labels_second(it) labels.append((org_label, Event.decode(name))) it = ida_hexrays.user_labels_next(it) ida_hexrays.user_labels_free(user_labels) return labels