[vala/staging: 4/5] vala: Warn when directly accessing member of silent cast-expression



commit 72061ee0286a4ce37ddec976174cc3786b3e4a59
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Mon Sep 23 15:56:49 2019 +0200

    vala: Warn when directly accessing member of silent cast-expression
    
    "foo as TypeSymbol" may result in `null' and accessing it without check is
    not recommended. If the invocation context provides information that `null'
    is not a possible result then use an unsafe cast "(TypeSymbol) foo".

 vala/valamemberaccess.vala | 4 ++++
 1 file changed, 4 insertions(+)
---
diff --git a/vala/valamemberaccess.vala b/vala/valamemberaccess.vala
index 37eeafb87..ad3f3d0fc 100644
--- a/vala/valamemberaccess.vala
+++ b/vala/valamemberaccess.vala
@@ -343,6 +343,10 @@ public class Vala.MemberAccess : Expression {
                                }
                        }
 
+                       if (inner is CastExpression && ((CastExpression) inner).is_silent_cast) {
+                               Report.warning (source_reference, "Access to possible `null'. Perform a check 
or use an unsafe cast.");
+                       }
+
                        if (inner is MemberAccess || inner is BaseAccess) {
                                base_symbol = inner.symbol_reference;
 


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