[vala/staging: 3/3] vala: More regular invocations of check() on inferred Expression.value_type



commit 34b381fe7651c18baf888cfe7ae929bf17b21c53
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Wed Mar 6 15:55:13 2019 +0100

    vala: More regular invocations of check() on inferred Expression.value_type

 vala/valaassignment.vala                  | 2 ++
 vala/valabinaryexpression.vala            | 2 ++
 vala/valaconditionalexpression.vala       | 1 +
 vala/valaelementaccess.vala               | 2 ++
 vala/valainitializerlist.vala             | 2 ++
 vala/valamemberaccess.vala                | 2 ++
 vala/valamethodcall.vala                  | 2 ++
 vala/valareferencetransferexpression.vala | 1 +
 vala/valasliceexpression.vala             | 2 ++
 vala/valaunaryexpression.vala             | 2 ++
 10 files changed, 18 insertions(+)
---
diff --git a/vala/valaassignment.vala b/vala/valaassignment.vala
index 324df5355..cd9ae6428 100644
--- a/vala/valaassignment.vala
+++ b/vala/valaassignment.vala
@@ -413,6 +413,8 @@ public class Vala.Assignment : Expression {
                        value_type = new InvalidType ();
                }
 
+               value_type.check (context);
+
                return !error;
        }
 
diff --git a/vala/valabinaryexpression.vala b/vala/valabinaryexpression.vala
index 5c9cefbe4..0dd61b6c1 100644
--- a/vala/valabinaryexpression.vala
+++ b/vala/valabinaryexpression.vala
@@ -528,6 +528,8 @@ public class Vala.BinaryExpression : Expression {
                        assert_not_reached ();
                }
 
+               value_type.check (context);
+
                return !error;
        }
 
diff --git a/vala/valaconditionalexpression.vala b/vala/valaconditionalexpression.vala
index ce1ee10ad..3395dd56f 100644
--- a/vala/valaconditionalexpression.vala
+++ b/vala/valaconditionalexpression.vala
@@ -200,6 +200,7 @@ public class Vala.ConditionalExpression : Expression {
 
                value_type.value_owned = (true_expression.value_type.value_owned || 
false_expression.value_type.value_owned);
                value_type.floating_reference = false;
+               value_type.check (context);
 
                local.variable_type = value_type;
                decl.check (context);
diff --git a/vala/valaelementaccess.vala b/vala/valaelementaccess.vala
index bc1072901..b847e9515 100644
--- a/vala/valaelementaccess.vala
+++ b/vala/valaelementaccess.vala
@@ -247,6 +247,8 @@ public class Vala.ElementAccess : Expression {
                        }
                }
 
+               value_type.check (context);
+
                return !error;
        }
 
diff --git a/vala/valainitializerlist.vala b/vala/valainitializerlist.vala
index 93c3339c6..4fef6f46d 100644
--- a/vala/valainitializerlist.vala
+++ b/vala/valainitializerlist.vala
@@ -249,6 +249,8 @@ public class Vala.InitializerList : Expression {
                        value_type = new InvalidType ();
                }
 
+               value_type.check (context);
+
                return !error;
        }
 
diff --git a/vala/valamemberaccess.vala b/vala/valamemberaccess.vala
index d1be1feb1..d51524024 100644
--- a/vala/valamemberaccess.vala
+++ b/vala/valamemberaccess.vala
@@ -859,6 +859,8 @@ public class Vala.MemberAccess : Expression {
                        }
                }
 
+               value_type.check (context);
+
                return !error;
        }
 
diff --git a/vala/valamethodcall.vala b/vala/valamethodcall.vala
index fc1bfed11..af44a2a5b 100644
--- a/vala/valamethodcall.vala
+++ b/vala/valamethodcall.vala
@@ -630,6 +630,8 @@ public class Vala.MethodCall : Expression {
                        }
                }
 
+               value_type.check (context);
+
                if (tree_can_fail) {
                        if (parent_node is LocalVariable || parent_node is ExpressionStatement) {
                                // simple statements, no side effects after method call
diff --git a/vala/valareferencetransferexpression.vala b/vala/valareferencetransferexpression.vala
index 6a06b1d65..f9b428997 100644
--- a/vala/valareferencetransferexpression.vala
+++ b/vala/valareferencetransferexpression.vala
@@ -109,6 +109,7 @@ public class Vala.ReferenceTransferExpression : Expression {
 
                value_type = inner.value_type.copy ();
                value_type.value_owned = true;
+               value_type.check (context);
 
                return !error;
        }
diff --git a/vala/valasliceexpression.vala b/vala/valasliceexpression.vala
index 4d3e84489..31181ec31 100644
--- a/vala/valasliceexpression.vala
+++ b/vala/valasliceexpression.vala
@@ -170,6 +170,8 @@ public class Vala.SliceExpression : Expression {
                        Report.error (source_reference, "The expression `%s' does not denote an array".printf 
(container.value_type.to_string ()));
                }
 
+               value_type.check (context);
+
                return !error;
        }
 
diff --git a/vala/valaunaryexpression.vala b/vala/valaunaryexpression.vala
index e04dcb57d..d371d39d9 100644
--- a/vala/valaunaryexpression.vala
+++ b/vala/valaunaryexpression.vala
@@ -236,6 +236,8 @@ public class Vala.UnaryExpression : Expression {
                        return false;
                }
 
+               value_type.check (context);
+
                return !error;
        }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]