- /// Refresh ctext after a ctree modification.
- /// This function informs the decompiler that ctree (\ref body) have been
- /// modified and ctext (\ref sv) does not correspond to it anymore.
- /// It also refreshes the pseudocode windows if there is any.
- void hexapi refresh_func_ctext();
- /// Recalculate item adresses.
- /// This function may be required after shuffling ctree items.
- /// For example, when adding or removing statements of a block,
- /// or changing 'if' statements.
- void hexapi recalc_item_addresses();
- bool hexapi gather_derefs(const ctree_item_t &ci, udt_type_data_t *udm=nullptr) const;
- bool hexapi find_item_coords(const citem_t *item, int *px, int *py);
- bool locked() const { return (statebits & CFS_LOCKED) != 0; }
- private:
- /// Cleanup.
- /// Properly delete all children and free memory.
- void hexapi cleanup();
- DECLARE_UNCOPYABLE(cfunc_t)
- };