diff options
Diffstat (limited to 'src/analysis/variable.c')
-rw-r--r-- | src/analysis/variable.c | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/src/analysis/variable.c b/src/analysis/variable.c index e24f7e1..87df60e 100644 --- a/src/analysis/variable.c +++ b/src/analysis/variable.c @@ -24,6 +24,9 @@ #include "variable.h" +#include <string.h> + + #include "../common/extstr.h" @@ -39,6 +42,8 @@ struct _GBinVariable GOpenidaType *type; /* Type de la variable */ char *name; /* Désignation humaine */ + GOpenidaType *owner; /* Zone d'appartenance */ + }; /* Variable typée (classe) */ @@ -128,6 +133,110 @@ GBinVariable *g_binary_variable_new(GOpenidaType *type) } +/****************************************************************************** +* * +* Paramètres : var = variable à consulter. * +* * +* Description : Fournit le type d'une variable donnée. * +* * +* Retour : Type de la variable. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GOpenidaType *g_binary_variable_get_vtype(const GBinVariable *var) +{ + return var->type; + +} + + +/****************************************************************************** +* * +* Paramètres : var = variable à consulter. * +* * +* Description : Fournit le nom d'une variable donnée. * +* * +* Retour : Nom de la variable ou NULL si non précisé. * +* * +* Remarques : - * +* * +******************************************************************************/ + +const char *g_binary_variable_get_name(const GBinVariable *var) +{ + return var->name; + +} + + +/****************************************************************************** +* * +* Paramètres : var = variable à consulter. * +* name = désignation à associer à la variable, voire NULL. * +* * +* Description : Définit le nom d'une variable donnée. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_binary_variable_set_name(GBinVariable *var, const char *name) +{ + if (var->name != NULL) + free(var->name); + + if (name == NULL) var->name = NULL; + else var->name = strdup(name); + +} + + +/****************************************************************************** +* * +* Paramètres : var = variable à consulter. * +* * +* Description : Fournit la zone d'appartenance d'une variable donnée. * +* * +* Retour : Zone d'appartenance de la variable ou NULL. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GOpenidaType *g_binary_variable_get_owner(const GBinVariable *var) +{ + return var->owner; + +} + + +/****************************************************************************** +* * +* Paramètres : var = variable à consulter. * +* owner = type identifiant la zone d'appartenance. * +* * +* Description : Définit la zone d'appartenance d'une variable donnée. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_binary_variable_set_owner(GBinVariable *var, GOpenidaType *owner) +{ + var->owner = owner; + +} + + + + + |