summaryrefslogtreecommitdiff
path: root/src/arch/instruction.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-03-08 16:09:24 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-03-08 16:09:24 (GMT)
commita33dd28e763e3a8b04145fb549aca9320e100a4b (patch)
tree26a99bc5b7e640c751dfbeba93994aa74b2ea9df /src/arch/instruction.c
parent2a03971cd2b19a6716a0e5e6896dcfcc91031a6a (diff)
Prepared instructions to generate tooltips.
Diffstat (limited to 'src/arch/instruction.c')
-rw-r--r--src/arch/instruction.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/arch/instruction.c b/src/arch/instruction.c
index 7e1e646..0041129 100644
--- a/src/arch/instruction.c
+++ b/src/arch/instruction.c
@@ -1059,6 +1059,35 @@ const char *g_arch_instruction_get_keyword(GArchInstruction *instr, AsmSyntax sy
}
+/******************************************************************************
+* *
+* Paramètres : instr = instruction d'assemblage à consulter. *
+* *
+* Description : Construit un petit résumé concis de l'instruction. *
+* *
+* Retour : Chaîne de caractères à libérer après usage ou NULL. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+char *g_arch_instruction_build_tooltip(const GArchInstruction *instr)
+{
+ char *result; /* Description à retourner */
+ GArchInstructionClass *class; /* Classe des instructions */
+
+ class = G_ARCH_INSTRUCTION_GET_CLASS(instr);
+
+ if (class->build_tooltip != NULL)
+ result = class->build_tooltip(instr);
+
+ else
+ result = NULL;
+
+ return result;
+
+}
+
/* ---------------------------------------------------------------------------------- */
/* OFFRE DE CAPACITES DE GENERATION */
@@ -1188,7 +1217,7 @@ static void _g_arch_instruction_print(GArchInstruction *instr, GBufferLine *line
key = g_arch_instruction_get_keyword(instr, 0/*, syntax*/);
klen = strlen(key);
- g_buffer_line_append_text(line, BLC_ASSEMBLY_HEAD, key, klen, RTT_INSTRUCTION, NULL);
+ g_buffer_line_append_text(line, BLC_ASSEMBLY_HEAD, key, klen, RTT_INSTRUCTION, G_OBJECT(instr));
/* Liste des opérandes */