diff options
Diffstat (limited to 'src/decomp/instruction.h')
-rw-r--r-- | src/decomp/instruction.h | 10 |
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 *); |