From 72061ee0286a4ce37ddec976174cc3786b3e4a59 Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Mon, 23 Sep 2019 15:56:49 +0200 Subject: [PATCH] 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; -- 2.47.2