diff options
Diffstat (limited to 'plugins/javadesc')
-rw-r--r-- | plugins/javadesc/Makefile.am | 18 | ||||
-rw-r--r-- | plugins/javadesc/core.c | 9 | ||||
-rw-r--r-- | plugins/javadesc/demangler.c | 27 | ||||
-rw-r--r-- | plugins/javadesc/python/Makefile.am | 13 | ||||
-rw-r--r-- | plugins/javadesc/python/demangler.c | 10 |
5 files changed, 49 insertions, 28 deletions
diff --git a/plugins/javadesc/Makefile.am b/plugins/javadesc/Makefile.am index 7a79b99..8f91010 100644 --- a/plugins/javadesc/Makefile.am +++ b/plugins/javadesc/Makefile.am @@ -35,16 +35,18 @@ PYTHON3_SUBDIRS = python endif -libjavadesc_la_SOURCES = \ - context.h context.c \ - core.h core.c \ - demangler.h demangler.c \ - field.h field.c \ +libjavadesc_la_SOURCES = \ + context.h context.c \ + core.h core.c \ + demangler.h demangler.c \ + field.h field.c \ method.h method.c -libjavadesc_la_LIBADD = \ +libjavadesc_la_LIBADD = \ $(PYTHON3_LIBADD) +libjavadesc_la_CFLAGS = $(TOOLKIT_CFLAGS) $(LIBXML_CFLAGS) -I$(top_srcdir)/src + libjavadesc_la_LDFLAGS = \ -avoid-version \ -L$(top_srcdir)/src/.libs -lchrysacore \ @@ -56,8 +58,4 @@ devdir = $(includedir)/chrysalide/$(subdir) dev_HEADERS = $(libjavadesc_la_SOURCES:%c=) -AM_CPPFLAGS = $(LIBGTK_CFLAGS) $(LIBXML_CFLAGS) -I$(top_srcdir)/src - -AM_CFLAGS = $(DEBUG_CFLAGS) $(WARNING_FLAGS) $(COMPLIANCE_FLAGS) - SUBDIRS = $(PYTHON3_SUBDIRS) diff --git a/plugins/javadesc/core.c b/plugins/javadesc/core.c index bda0f56..420d9f5 100644 --- a/plugins/javadesc/core.c +++ b/plugins/javadesc/core.c @@ -24,18 +24,17 @@ #include "core.h" -#include <config.h> #include <core/demanglers.h> #include <plugins/self.h> #include "demangler.h" -#ifdef HAVE_PYTHON3_BINDINGS +#ifdef INCLUDE_PYTHON3_BINDINGS # include "python/module.h" #endif -#ifdef HAVE_PYTHON3_BINDINGS +#ifdef INCLUDE_PYTHON3_BINDINGS # define PG_REQ RL("PyChrysalide") #else # define PG_REQ NO_REQ @@ -65,9 +64,9 @@ G_MODULE_EXPORT bool chrysalide_plugin_init(GPluginModule *plugin) { bool result; /* Bilan à retourner */ - result = register_demangler_type("java", G_TYPE_JAVA_DEMANGLER); + result = register_demangler_type(G_TYPE_JAVA_DEMANGLER); -#ifdef HAVE_PYTHON3_BINDINGS +#ifdef INCLUDE_PYTHON3_BINDINGS if (result) result = add_mangling_javadesc_module_to_python_module(); #endif diff --git a/plugins/javadesc/demangler.c b/plugins/javadesc/demangler.c index 78b62f1..eaacacf 100644 --- a/plugins/javadesc/demangler.c +++ b/plugins/javadesc/demangler.c @@ -58,6 +58,9 @@ static void g_java_demangler_dispose(GJavaDemangler *); /* Procède à la libération totale de la mémoire. */ static void g_java_demangler_finalize(GJavaDemangler *); +/* Fournit la désignation interne du décodeur de désignations. */ +static char *g_java_demangler_get_key(const GJavaDemangler *); + /* Indique le type défini pour un décodeur de désignations. */ @@ -88,6 +91,7 @@ static void g_java_demangler_class_init(GJavaDemanglerClass *klass) demangler = G_COMP_DEMANGLER_CLASS(klass); + demangler->get_key = (get_demangler_key_fc)g_java_demangler_get_key; demangler->can_demangle = (can_be_demangled_fc)NULL; demangler->ns_sep = "."; @@ -173,3 +177,26 @@ GCompDemangler *g_java_demangler_new(void) return G_COMP_DEMANGLER(result); } + + +/****************************************************************************** +* * +* Paramètres : demangler = décodeur à consulter. * +* * +* Description : Fournit la désignation interne du décodeur de désignations. * +* * +* Retour : Simple chaîne de caractères. * +* * +* Remarques : - * +* * +******************************************************************************/ + +static char *g_java_demangler_get_key(const GJavaDemangler *demangler) +{ + char *result; /* Désignation à renvoyer */ + + result = strdup("java"); + + return result; + +} diff --git a/plugins/javadesc/python/Makefile.am b/plugins/javadesc/python/Makefile.am index aa7deeb..2b1a8eb 100644 --- a/plugins/javadesc/python/Makefile.am +++ b/plugins/javadesc/python/Makefile.am @@ -1,19 +1,14 @@ noinst_LTLIBRARIES = libjavadescpython.la -libjavadescpython_la_SOURCES = \ - demangler.h demangler.c \ +libjavadescpython_la_SOURCES = \ + demangler.h demangler.c \ module.h module.c -libjavadescpython_la_LDFLAGS = +libjavadescpython_la_CFLAGS = $(TOOLKIT_CFLAGS) $(LIBXML_CFLAGS) $(LIBPYTHON_CFLAGS) $(LIBPYGOBJECT_CFLAGS) \ + -I$(top_srcdir)/src -DNO_IMPORT_PYGOBJECT devdir = $(includedir)/chrysalide/$(subdir) dev_HEADERS = $(libjavadescpython_la_SOURCES:%c=) - - -AM_CPPFLAGS = $(LIBGTK_CFLAGS) $(LIBXML_CFLAGS) $(LIBPYTHON_CFLAGS) $(LIBPYGOBJECT_CFLAGS) \ - -I$(top_srcdir)/src -DNO_IMPORT_PYGOBJECT - -AM_CFLAGS = $(DEBUG_CFLAGS) $(WARNING_FLAGS) $(COMPLIANCE_FLAGS) diff --git a/plugins/javadesc/python/demangler.c b/plugins/javadesc/python/demangler.c index 3a972cee..62b24c7 100644 --- a/plugins/javadesc/python/demangler.c +++ b/plugins/javadesc/python/demangler.c @@ -142,15 +142,17 @@ PyTypeObject *get_python_java_demangler_type(void) bool register_python_java_demangler(PyObject *module) { - PyTypeObject *py_java_demangler_type; /* Type Python 'JavaDemangler' */ + PyTypeObject *type; /* Type Python 'JavaDemangler' */ PyObject *dict; /* Dictionnaire du module */ - py_java_demangler_type = get_python_java_demangler_type(); + type = get_python_java_demangler_type(); dict = PyModule_GetDict(module); - if (!register_class_for_pygobject(dict, G_TYPE_JAVA_DEMANGLER, - py_java_demangler_type, get_python_compiler_demangler_type())) + if (!ensure_python_compiler_demangler_is_registered()) + return false; + + if (!register_class_for_pygobject(dict, G_TYPE_JAVA_DEMANGLER, type)) return false; return true; |