summaryrefslogtreecommitdiff
path: root/src/analysis/type-int.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/type-int.h')
-rw-r--r--src/analysis/type-int.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/analysis/type-int.h b/src/analysis/type-int.h
index 51e4954..3c34680 100644
--- a/src/analysis/type-int.h
+++ b/src/analysis/type-int.h
@@ -33,10 +33,14 @@
typedef GDataType * (* type_dup_fc) (const GDataType *);
/* Décrit le type fourni sous forme de caractères. */
-typedef char * (* type_to_string_fc) (const GDataType *);
+typedef char * (* type_to_string_fc) (const GDataType *, bool);
+
+/* Indique si le type est un pointeur. */
+typedef bool (* type_is_pointer_fc) (const GDataType *);
+
+/* Indique si le type est une référence. */
+typedef bool (* type_is_reference_fc) (const GDataType *);
-/* Procède à l'impression de la description d'un type. */
-//typedef void (* output_type_fc) (const GDataType *, GLangOutput *, GBufferLine *, bool, bool);
/* Description de type quelconque (instance) */
@@ -44,11 +48,9 @@ struct _GDataType
{
GObject parent; /* A laisser en premier */
- type_dup_fc dup; /* Copie d'instance existante */
- type_to_string_fc to_string; /* Conversion au format texte */
- //output_type_fc output; /* Impression à l'écran */
-
GDataType *namespace; /* Espace de noms / classe */
+ const char *ns_sep; /* Séparateur d'éléments */
+
TypeQualifier qualifiers; /* Eventuels qualificatifs */
};
@@ -58,6 +60,14 @@ struct _GDataTypeClass
{
GObjectClass parent; /* A laisser en premier */
+ bool handle_ns; /* Gestion au niveau de base ? */
+
+ type_dup_fc dup; /* Copie d'instance existante */
+ type_to_string_fc to_string; /* Conversion au format texte */
+
+ type_is_pointer_fc is_pointer; /* Représentation de pointeur ?*/
+ type_is_reference_fc is_reference; /* Représentation de référence?*/
+
};