summaryrefslogtreecommitdiff
path: root/src/analysis/scan/exprs/access-int.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/scan/exprs/access-int.h')
-rw-r--r--src/analysis/scan/exprs/access-int.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/analysis/scan/exprs/access-int.h b/src/analysis/scan/exprs/access-int.h
index 2212b48..725051c 100644
--- a/src/analysis/scan/exprs/access-int.h
+++ b/src/analysis/scan/exprs/access-int.h
@@ -32,8 +32,11 @@
+/* Reproduit un accès en place dans une nouvelle instance. */
+typedef void (* copy_scan_access_fc) (GScanNamedAccess *, const GScanNamedAccess *);
+
/* Accès à un élément d'expression sous-jacent (instance) */
-struct _GNamedAccess
+struct _GScanNamedAccess
{
GScanExpression parent; /* A laisser en premier */
@@ -46,23 +49,25 @@ struct _GNamedAccess
char *target; /* Cible dans l'espace */
- struct _GNamedAccess *next; /* Evnetuel prochain élément */
+ struct _GScanNamedAccess *next; /* Evnetuel prochain élément */
};
/* Accès à un élément d'expression sous-jacent (classe) */
-struct _GNamedAccessClass
+struct _GScanNamedAccessClass
{
GScanExpressionClass parent; /* A laisser en premier */
+ copy_scan_access_fc copy; /* Reproduction d'accès */
+
};
/* Met en place une expression d'accès. */
-bool g_named_access_create(GNamedAccess *, const sized_string_t *);
+bool g_scan_named_access_create(GScanNamedAccess *, const sized_string_t *);
-/* Réduit une expression à une forme plus simple. */
-bool _g_named_access_reduce(GNamedAccess *, GScanContext *, GScanScope *, GScanExpression **);
+/* Prépare une réduction en menant une résolution locale. */
+GRegisteredItem *_g_scan_named_access_prepare_reduction(GScanNamedAccess *, GScanContext *, GScanScope *);