summaryrefslogtreecommitdiff
path: root/plugins/javadesc
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/javadesc')
-rw-r--r--plugins/javadesc/Makefile.am18
-rw-r--r--plugins/javadesc/core.c9
-rw-r--r--plugins/javadesc/demangler.c27
-rw-r--r--plugins/javadesc/python/Makefile.am13
-rw-r--r--plugins/javadesc/python/demangler.c10
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;