Latest available version: IDA and decompilers v8.4.240320sp1 see all releases
Hex-Rays logo State-of-the-art binary code analysis tools
email icon

class to contain public info about the merge process More...

#include <merge.hpp>

Classes

struct  item_block_locator_t
 several items can be grouped into a block. More...
 

Public Member Functions

 merge_data_t (const merge_data_t &)=delete
 
void operator= (const merge_data_t &)=delete
 
void set_dbctx_ids (int local, int remote, int base)
 
int local_id () const
 
int remote_id () const
 
int base_id () const
 
void add_event_handler (merge_handler_t *handler)
 
void remove_event_handler (merge_handler_t *handler)
 
ea_t get_block_head (diff_source_idx_t idx, ea_t item_head)
 
bool setup_blocks (diff_source_idx_t dst_idx, diff_source_idx_t src_idx, const diff_range_t &region)
 
virtual bool has_existing_node (const char *nodename) const
 check that node exists in any of databases
 
virtual bool map_privrange_id (tid_t *tid, ea_t ea, diff_source_idx_t from, diff_source_idx_t to, bool strict=true)
 map IDs of structures, enumerations and their members More...
 
virtual bool map_tinfo (tinfo_t *tif, diff_source_idx_t from, diff_source_idx_t to, bool strict=true)
 migrate type, replaces type references into FROM database to references into TO database More...
 
virtual int compare_merging_tifs (const tinfo_t &tif1, diff_source_idx_t diffidx1, const tinfo_t &tif2, diff_source_idx_t diffidx2) const
 compare types from two databases More...
 

Public Attributes

class merge_mappers_t & mappers
 
int dbctx_ids [3] = { -1, -1, -1 }
 local, remote, base ids
 
int nbases = 0
 number of database participating in merge process, maybe 2 or 3
 
merge_handlers_t ev_handlers
 event handlers
 
item_block_locator_titem_block_locator = nullptr
 
merge_handler_t * last_udt_related_merger = nullptr
 

Detailed Description

class to contain public info about the merge process

Member Function Documentation

◆ map_privrange_id()

virtual bool merge_data_t::map_privrange_id ( tid_t tid,
ea_t  ea,
diff_source_idx_t  from,
diff_source_idx_t  to,
bool  strict = true 
)
virtual

map IDs of structures, enumerations and their members

Parameters
[out]tiditem ID in TO database
eaitem ID to find counterpart
fromsource database index, diff_source_idx_t
todestination database index, diff_source_idx_t
strictraise interr if could not map
Returns
success

◆ map_tinfo()

virtual bool merge_data_t::map_tinfo ( tinfo_t tif,
diff_source_idx_t  from,
diff_source_idx_t  to,
bool  strict = true 
)
virtual

migrate type, replaces type references into FROM database to references into TO database

Parameters
[in,out]tiftype to migrate, will be cleared in case of fail
fromsource database index, diff_source_idx_t
todestination database index, diff_source_idx_t
strictraise interr if could not map
Returns
success

◆ compare_merging_tifs()

virtual int merge_data_t::compare_merging_tifs ( const tinfo_t tif1,
diff_source_idx_t  diffidx1,
const tinfo_t tif2,
diff_source_idx_t  diffidx2 
) const
virtual

compare types from two databases

Parameters
tif1type
diffidx1database index, diff_source_idx_t
tif2type
diffidx2database index, diff_source_idx_t
Returns
-1, 0, 1

The documentation for this class was generated from the following file: