diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2013-01-17 22:21:03 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2013-01-17 22:21:03 (GMT) |
commit | a9bbd894bd25f7c2bb72fb7d4064b19377d90c6d (patch) | |
tree | d430c135864caa960c71ed86c5713507de66f708 /src/decomp/context-int.h | |
parent | 2ab78407e9f73b6508afc281400a7c3fc018217f (diff) |
Forked the decompilation context when needed.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@325 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/decomp/context-int.h')
-rw-r--r-- | src/decomp/context-int.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/decomp/context-int.h b/src/decomp/context-int.h index 8139077..7e5b1b0 100644 --- a/src/decomp/context-int.h +++ b/src/decomp/context-int.h @@ -33,6 +33,9 @@ +/* Duplique un contexte de compilation. */ +typedef GDecContext * (* dup_dec_context_fc) (GDecContext *); + /* Convertit un registre machine en un pseudo-registre. */ typedef GDecInstruction * (* convert_register_fc) (GDecContext *, gpointer, bool); @@ -42,13 +45,14 @@ struct _GDecContext { GObject parent; /* A laisser en premier */ + dup_dec_context_fc dup; /* Duplication de contexte */ + convert_register_fc convert_reg; /* Traduction des registres */ + GExeFormat *format; /* Format binaire concerné */ GBinRoutine *routine; /* Routine visée par l'opérat° */ GDecInstruction *list; /* Chaîne décompilée */ - convert_register_fc convert_reg; /* Traduction des registres */ - }; @@ -60,5 +64,9 @@ struct _GDecContextClass }; +/* Duplique partiellement un contexte de compilation. */ +void _g_dec_context_dup(GDecContext *, GDecContext *); + + #endif /* _DECOMP_CONTEXT_INT_H */ |