summaryrefslogtreecommitdiff
path: root/src/decomp/output-int.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2013-02-24 11:09:36 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2013-02-24 11:09:36 (GMT)
commit02c2cf555953f335a825e34c869c9999668fd42c (patch)
tree59395c04d509f9fae8314d311f6ab90e163df45d /src/decomp/output-int.h
parent34e1a14aced520ba06ee1b81cfd7710e97c1643f (diff)
Refined comparisons decompilation and fixed some bugs.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@340 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/decomp/output-int.h')
-rw-r--r--src/decomp/output-int.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/decomp/output-int.h b/src/decomp/output-int.h
index 8ee7dd4..95b891b 100644
--- a/src/decomp/output-int.h
+++ b/src/decomp/output-int.h
@@ -2,7 +2,7 @@
/* OpenIDA - Outil d'analyse de fichiers binaires
* output-int.h - définitions internes pour les sorties en langage de programmation
*
- * Copyright (C) 2010 Cyrille Bagard
+ * Copyright (C) 2010-2013 Cyrille Bagard
*
* This file is part of OpenIDA.
*
@@ -38,6 +38,9 @@ typedef GBufferLine * (* write_comments_fc) (GLangOutput *, GCodeBuffer *, const
/* Imprime dans un tampon donné une méthode de comparaison. */
typedef void (* write_comp_sign_fc) (GLangOutput *, GBufferLine *, CompSignType);
+/* Imprime dans un tampon donné un opérateur logique. */
+typedef void (* write_cond_op_fc) (GLangOutput *, GBufferLine *, CondOperatorType);
+
/* Débute la documentation d'une routine. */
typedef GBufferLine * (* start_rtn_info_fc) (const GLangOutput *, GCodeBuffer *);
@@ -57,6 +60,11 @@ typedef GBufferLine * (* rlgbufln_fc) (GLangOutput *, GCodeBuffer *, GBufferLine
typedef GBufferLine * (* rlgbuflnsz_fc) (GLangOutput *, GCodeBuffer *, GBufferLine *, size_t);
+/* Xxx. */
+typedef GBufferLine * (* lo_buf_ln_bool_fc) (GLangOutput *, GCodeBuffer *, GBufferLine *, bool);
+
+
+
/* Sortie selon un langage de programmation (instance) */
struct _GLangOutput
{
@@ -68,6 +76,7 @@ struct _GLangOutput
write_comments_fc write_comments; /* Commentaires sur une ligne */
write_comp_sign_fc comp_sign; /* Méthde de comparaison */
+ write_cond_op_fc cond_op; /* Opérateur logique */
rlgbuftp_fc start_class; /* Début de définition */
lgbuf_fc end_class; /* Fin de définition de classe */
@@ -80,6 +89,8 @@ struct _GLangOutput
lgbuf_fc end_routine_body; /* Fin de définition de corps */
rlgbuflnsz_fc start_code_block; /* Début de définition */
rlgbuflnsz_fc end_code_block; /* Fin de définition de corps */
+ lo_buf_ln_bool_fc encaps_cond; /* Emballe une condition */
+
};