summaryrefslogtreecommitdiff
path: root/src/decomp/instruction.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2013-01-27 22:03:31 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2013-01-27 22:03:31 (GMT)
commit5c7ea8e2137e4e5bb2887de0d1ffd8a0b277636e (patch)
tree86d788e395f009c773cccd4310d56477c55552b5 /src/decomp/instruction.h
parent7f35f8d2f211fdf087252ede7665e9c81f35cdc7 (diff)
Reduced the quantity of used variables in decompiled code.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@332 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
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 *);