summaryrefslogtreecommitdiff
path: root/src/decomp/instruction.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/decomp/instruction.h')
-rw-r--r--src/decomp/instruction.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/decomp/instruction.h b/src/decomp/instruction.h
index ed8090d..3c8657b 100644
--- a/src/decomp/instruction.h
+++ b/src/decomp/instruction.h
@@ -50,20 +50,22 @@ typedef struct _GDecInstructionClass GDecInstructionClass;
/* Position au cours d'une visite */
typedef enum _DecInstrVisitFlags
{
- DVF_ENTER, /* Entrée dans une instruction */
- DVF_EXIT /* Sortie d'une instruction */
+ DVF_ENTER = (1 << 0), /* Entrée dans une instruction */
+ DVF_EXIT = (1 << 1) /* Sortie d'une instruction */
} DecInstrVisitFlags;
/* Rappel à chaque instruction décompilée visitée */
-typedef bool (* dec_instr_visitor_cb) (GDecInstruction *, DecInstrVisitFlags, void *);
+typedef bool (* dec_instr_visitor_cb) (GDecInstruction *, GDecInstruction *, DecInstrVisitFlags, void *);
/* Indique le type défini pour une instruction décompilée. */
GType g_dec_instruction_get_type(void);
/* Visite un ensemble hiérarchique d'instructions décompilées. */
-bool g_dec_instruction_visit(GDecInstruction *, dec_instr_visitor_cb, DecInstrVisitFlags, void *);
+bool _g_dec_instruction_visit(GDecInstruction *, GDecInstruction *, dec_instr_visitor_cb, DecInstrVisitFlags, void *);
+
+#define g_dec_instruction_visit(instr, callback, flags, data) _g_dec_instruction_visit(instr, NULL, callback, flags, data)
/* Remplace une instruction décompilée par une autre. */
bool g_dec_instruction_replace(GDecInstruction *, GDecInstruction *, GDecInstruction *);