summaryrefslogtreecommitdiff
path: root/vala/valacodegenerator.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2020-08-13 19:05:49 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2020-08-13 19:05:49 +0200
commitcb1828cfc5273aca752de9b39a77e0cd53305e61 (patch)
tree0066498c7a6d01c3aa54308f52d66986b2991c0e /vala/valacodegenerator.vala
parent647b55dcba78780f4246ac8700ae20ca8134714c (diff)
downloadvala-cb1828cfc5273aca752de9b39a77e0cd53305e61.tar.gz
Force usage of temporary variables for "tainted" member accesses
This is required to handle the side effect of postfix- and unary- increment/decrement expressions. Regression of 32ffc862417be39d42a1b8eeb3d0748b3e138aff and b9035aaf17a9a97a070812a8ee83251fd3893b1e Fixes https://gitlab.gnome.org/GNOME/vala/issues/1061
Diffstat (limited to 'vala/valacodegenerator.vala')
-rw-r--r--vala/valacodegenerator.vala6
1 files changed, 3 insertions, 3 deletions
diff --git a/vala/valacodegenerator.vala b/vala/valacodegenerator.vala
index cea0db8f6..9452b49a3 100644
--- a/vala/valacodegenerator.vala
+++ b/vala/valacodegenerator.vala
@@ -32,15 +32,15 @@ public abstract class Vala.CodeGenerator : CodeVisitor {
public virtual void emit (CodeContext context) {
}
- public abstract TargetValue load_local (LocalVariable local);
+ public abstract TargetValue load_local (LocalVariable local, Expression? expr = null);
public abstract void store_local (LocalVariable local, TargetValue value, bool initializer, SourceReference? source_reference = null);
- public abstract TargetValue load_parameter (Parameter param);
+ public abstract TargetValue load_parameter (Parameter param, Expression? expr = null);
public abstract void store_parameter (Parameter param, TargetValue value, bool capturing_parameter = false, SourceReference? source_reference = null);
- public abstract TargetValue load_field (Field field, TargetValue? instance);
+ public abstract TargetValue load_field (Field field, TargetValue? instance, Expression? expr = null);
public abstract void store_field (Field field, TargetValue? instance, TargetValue value, SourceReference? source_reference = null);
}