summaryrefslogtreecommitdiff
path: root/src/decomp/context.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2012-07-23 19:07:29 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2012-07-23 19:07:29 (GMT)
commit8b35a66464636d0c46237af7490a6ca6866ecc4d (patch)
tree92199b36e3af00eb4c175a80c20b9b14511a6a45 /src/decomp/context.c
parent8b2189a819c7a761cfdb97d9e3382ea963f225fb (diff)
Improved decompilation of Dalvik bytecode.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@252 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/decomp/context.c')
-rw-r--r--src/decomp/context.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/decomp/context.c b/src/decomp/context.c
index 6440c56..15215eb 100644
--- a/src/decomp/context.c
+++ b/src/decomp/context.c
@@ -27,6 +27,7 @@
#include <malloc.h>
+#include "instruction-int.h"
#include "expr/pseudo.h"
#include "../arch/operand.h"
#include "../glibext/gnhash.h"
@@ -40,6 +41,8 @@ struct _GDecContext
vmpa_t max; /* Première adresse à écarter */
+ GDecInstruction *list; /* Chaîne décompilée */
+
GHashTable *machine; /* Correspondance reg./pseudo */
GHashTable *ssa; /* Remplacement des pseudos */
@@ -171,6 +174,46 @@ void g_dec_context_set_max_address(GDecContext *ctx, vmpa_t max)
/******************************************************************************
* *
+* Paramètres : ctx = instance à consulter. *
+* *
+* Description : Fournit le premier élément de la liste des instructions. *
+* *
+* Retour : Première instruction décompilée pour le contexte. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+GDecInstruction *g_dec_context_get_decomp_instrs(const GDecContext *ctx)
+{
+ return ctx->list;
+
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : ctx = instance à mettre à jour. *
+* instr = première instruction décompilée pour le contexte. *
+* *
+* Description : Met à jour le premier élément de la liste des instructions. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+void g_dec_context_set_decomp_instrs(GDecContext *ctx, GDecInstruction *instr)
+{
+ ctx->list = instr;
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : ctx = instance à consulter, voire mettre à jour. *
* operand = opérande représentant un registre quelconque. *
* *