diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2010-12-20 00:28:36 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2010-12-20 00:28:36 (GMT) |
commit | 56deaf395c65658102ef0111cfc072d65335331a (patch) | |
tree | ba6d6fd0dbc781e9ad3b3cf6b2eb529a7d7a6aa3 /src/decomp/lang/java.c | |
parent | d9fdfcf887a7a596a68db2500bb5e4d0b692abb6 (diff) |
Begun to clean the code by moving the disassembling process into disass/.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@202 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/decomp/lang/java.c')
-rw-r--r-- | src/decomp/lang/java.c | 97 |
1 files changed, 96 insertions, 1 deletions
diff --git a/src/decomp/lang/java.c b/src/decomp/lang/java.c index 90a0ddc..471b63c 100644 --- a/src/decomp/lang/java.c +++ b/src/decomp/lang/java.c @@ -50,6 +50,15 @@ static void g_java_output_class_init(GJavaOutputClass *); /* Initialise une instance de sortie en langage Java. */ static void g_java_output_init(GJavaOutput *); +/* Marque le début d'une série de commentaires. */ +static GBufferLine *g_java_output_start_comments(GJavaOutput *, GCodeBuffer *); + +/* Poursuit l'ajout d'une ligne de commentaires. */ +static GBufferLine *g_java_output_continue_comments(GJavaOutput *, GCodeBuffer *, const char *, size_t); + +/* Marque la fin d'une série de commentaires. */ +static GBufferLine *g_java_output_end_comments(GJavaOutput *, GCodeBuffer *); + /* Ajoute un commentaire à un tampon donné. */ static GBufferLine *g_java_output_write_comments(GJavaOutput *, GCodeBuffer *, const char *, size_t); @@ -116,6 +125,10 @@ static void g_java_output_init(GJavaOutput *output) lang = G_LANG_OUTPUT(output); + + lang->start_comments = (rlgbuf_fc)g_java_output_start_comments; + lang->cont_comments = (write_comments_fc)g_java_output_continue_comments; + lang->end_comments = (rlgbuf_fc)g_java_output_end_comments; lang->write_comments = (write_comments_fc)g_java_output_write_comments; lang->comp_sign = (write_comp_sign_fc)g_java_output_write_comp_sign; @@ -158,7 +171,89 @@ GLangOutput *g_java_output_new(void) * * * Paramètres : output = encadrant de l'impression en langage de prog. * * buffer = tampon de sortie à disposition. * -* column = colonne de la ligne visée par l'insertion. * +* * +* Description : Marque le début d'une série de commentaires. * +* * +* Retour : Nouvelle ligne constituée. * +* * +* Remarques : - * +* * +******************************************************************************/ + +static GBufferLine *g_java_output_start_comments(GJavaOutput *output, GCodeBuffer *buffer) +{ + GBufferLine *result; /* Nouvelle ligne à retourner */ + + result = g_code_buffer_append_new_line(buffer); + + g_buffer_line_insert_text(result, BLC_COMMENTS, "/**", 3, RTT_COMMENT); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : output = encadrant de l'impression en langage de prog. * +* buffer = tampon de sortie à disposition. * +* text = texte à insérer dans l'existant. * +* length = taille du texte à traiter. * +* * +* Description : Poursuit l'ajout d'une ligne de commentaires. * +* * +* Retour : Ligne nouvellement créée. * +* * +* Remarques : - * +* * +******************************************************************************/ + +static GBufferLine *g_java_output_continue_comments(GJavaOutput *output, GCodeBuffer *buffer, const char *text, size_t length) +{ + GBufferLine *result; /* Adresse nouvelle à remonter */ + + result = g_code_buffer_append_new_line(buffer); + + g_buffer_line_insert_text(result, BLC_COMMENTS, " * ", 3, RTT_COMMENT); + + if (length > 0) + g_buffer_line_insert_text(result, BLC_COMMENTS, text, length, RTT_COMMENT); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : output = encadrant de l'impression en langage de prog. * +* buffer = tampon de sortie à disposition. * +* * +* Description : Marque la fin d'une série de commentaires. * +* * +* Retour : Nouvelle ligne constituée. * +* * +* Remarques : - * +* * +******************************************************************************/ + +static GBufferLine *g_java_output_end_comments(GJavaOutput *output, GCodeBuffer *buffer) +{ + GBufferLine *result; /* Nouvelle ligne à retourner */ + + result = g_code_buffer_append_new_line(buffer); + + g_buffer_line_insert_text(result, BLC_COMMENTS, " */", 3, RTT_COMMENT); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : output = encadrant de l'impression en langage de prog. * +* buffer = tampon de sortie à disposition. * * text = texte à insérer dans l'existant. * * length = taille du texte à traiter. * * * |