summaryrefslogtreecommitdiff
path: root/src/analysis/scan/expr-int.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/scan/expr-int.h')
-rw-r--r--src/analysis/scan/expr-int.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/analysis/scan/expr-int.h b/src/analysis/scan/expr-int.h
index 4323693..dbfea6e 100644
--- a/src/analysis/scan/expr-int.h
+++ b/src/analysis/scan/expr-int.h
@@ -44,8 +44,11 @@ typedef bool (* check_expr_validity_fc) (const GScanExpression *);
/* Reproduit une expression en place dans une nouvelle instance. */
typedef GScanExpression * (* dup_expr_fc) (const GScanExpression *);
+/* Reproduit une expression en place dans une nouvelle instance. */
+typedef void (* copy_expr_fc) (GScanExpression *, const GScanExpression *);
+
/* Réduit une expression à une forme plus simple. */
-typedef GScanExpression * (* reduce_expr_fc) (GScanExpression *, GScanContext *, bool);
+typedef bool (* reduce_expr_fc) (GScanExpression *, GScanContext *, GScanScope *, GScanExpression **);
/* Expression d'évaluation généraliste (instance) */
@@ -64,6 +67,7 @@ struct _GScanExpressionClass
compare_expr_rich_fc cmp_rich; /* Comparaison de façon précise*/
check_expr_validity_fc check; /* Validation de la cohérence */
+ copy_expr_fc copy; /* Reproduction d'expression */
dup_expr_fc dup; /* Reproduction d'expression */
reduce_expr_fc reduce; /* Simplification d'expression */