summaryrefslogtreecommitdiff
path: root/src/analysis/variable.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2010-04-18 00:31:49 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2010-04-18 00:31:49 (GMT)
commitef29fbc801e23f547b9ee7666b713bcf32d7e787 (patch)
treefb7466a56e2246c53a51d0475c1b5fc70ef3b8f9 /src/analysis/variable.h
parent49468379e912806400c5874f8e359cb934516228 (diff)
Improved the Itanium demangler.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@152 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis/variable.h')
-rw-r--r--src/analysis/variable.h47
1 files changed, 46 insertions, 1 deletions
diff --git a/src/analysis/variable.h b/src/analysis/variable.h
index f2bbb87..ab5a037 100644
--- a/src/analysis/variable.h
+++ b/src/analysis/variable.h
@@ -29,6 +29,46 @@
#include <glib-object.h>
+#include "type.h"
+
+
+
+/* ------------------- ASSOCIATION D'UN TYPE ET D'UNE DESIGNATION ------------------- */
+
+
+#define G_TYPE_BIN_VARIABLE g_binary_variable_get_type()
+#define G_BINARY_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), g_binary_variable_get_type(), GBinVariable))
+#define G_IS_BIN_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), g_binary_variable_get_type()))
+#define G_BINARY_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), G_TYPE_BIN_VARIABLE, GBinVariableClass))
+#define G_IS_BIN_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), G_TYPE_BIN_VARIABLE))
+#define G_BINARY_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), G_TYPE_BIN_VARIABLE, GBinVariableClass))
+
+
+/* Base de variable (instance) */
+typedef struct _GBinVariable GBinVariable;
+
+/* Base de variable (classe) */
+typedef struct _GBinVariableClass GBinVariableClass;
+
+
+/* Indique le type défini pour une base de variable. */
+GType g_binary_variable_get_type(void);
+
+/* Crée une représentation de variable de type donné. */
+GBinVariable *g_binary_variable_new(GOpenidaType *);
+
+
+
+
+/* Décrit la variable donnée sous forme de caractères. */
+char *g_binary_variable_to_string(const GBinVariable *);
+
+
+
+
+
+
+
/* -------------------- BASE DE VARIABLES OU VARIABLES INCONNUES -------------------- */
@@ -79,6 +119,7 @@ typedef struct _variable variable;
/* Liste des types de base existants */
+#if 0
typedef enum _BaseType
{
BTP_VOID, /* void */
@@ -111,7 +152,7 @@ typedef enum _BaseType
BTP_OTHER /* Extension utilisateur */
} BaseType;
-
+#endif
/* Variable repésentant un argument ou un type de retour */
@@ -144,6 +185,7 @@ typedef struct _complex_variable complex_variable;
/* Type de ces variables */
+#if 0
typedef enum _ClassEnumType
{
CET_UNKNOWN, /* Statut inconnu */
@@ -152,6 +194,7 @@ typedef enum _ClassEnumType
CET_CLASS /* Classe */
} ClassEnumType;
+#endif
/* Représentation des classes et des énumérations */
@@ -167,6 +210,7 @@ complex_variable *create_class_enum_var(char *);
/* Cas d'encapsulation possibles */
+#if 0
typedef enum _EncapsulationType
{
ECT_POINTER, /* Pointeur */
@@ -176,6 +220,7 @@ typedef enum _EncapsulationType
ECT_IMAGINARY /* Imaginaire (C 2000) */
} EncapsulationType;
+#endif
/* Représentation des variables dérivées */