diff options
Diffstat (limited to 'src/analysis/block.c')
-rw-r--r-- | src/analysis/block.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/analysis/block.c b/src/analysis/block.c index 62b56ab..1ec9804 100644 --- a/src/analysis/block.c +++ b/src/analysis/block.c @@ -131,6 +131,9 @@ static void g_instr_block_init(GInstrBlock *block) static void g_instr_block_dispose(GInstrBlock *block) { + if (block->links_block != NULL) + g_object_unref(G_OBJECT(block->links_block)); + G_OBJECT_CLASS(g_instr_block_parent_class)->dispose(G_OBJECT(block)); } @@ -215,3 +218,46 @@ void g_instr_block_list_all_blocks(const GInstrBlock *block, GInstrBlock ***list block->list_blocks(block, list, count); } + + +/****************************************************************************** +* * +* Paramètres : block = bloc d'instructions à mettre à jour. * +* links = bloc contenant les blocs liés au bloc. * +* * +* Description : Définit l'ensemble contenant les blocs liés. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_instr_block_set_links_block(GInstrBlock *block, GInstrBlock *links) +{ + if (block->links_block != NULL) + g_object_unref(G_OBJECT(block->links_block)); + + g_object_ref(G_OBJECT(links)); + block->links_block = links; + +} + + +/****************************************************************************** +* * +* Paramètres : block = bloc d'instructions à mettre à jour. * +* * +* Description : Fournit l'ensemble contenant les blocs liés. * +* * +* Retour : Bloc contenant les blocs liés au bloc. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GInstrBlock *g_instr_block_get_links_block(const GInstrBlock *block) +{ + return block->links_block; + +} |