From ed8933db3f73effbf82083dad27e287fb08c6de5 Mon Sep 17 00:00:00 2001 From: Nicholas Shahan Date: Fri, 16 Oct 2020 21:21:42 +0000 Subject: [PATCH] [ddc] Trust non-nullability of casts Change-Id: I19f73e7a3e1f65e27a27eb00f6f6d41ffda598af Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165141 Reviewed-by: Mark Zhou --- pkg/dev_compiler/lib/src/kernel/nullable_inference.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/dev_compiler/lib/src/kernel/nullable_inference.dart b/pkg/dev_compiler/lib/src/kernel/nullable_inference.dart index 40878db717b..0159778bee6 100644 --- a/pkg/dev_compiler/lib/src/kernel/nullable_inference.dart +++ b/pkg/dev_compiler/lib/src/kernel/nullable_inference.dart @@ -221,7 +221,10 @@ class NullableInference extends ExpressionVisitor { bool visitIsExpression(IsExpression node) => false; @override - bool visitAsExpression(AsExpression node) => isNullable(node.operand); + bool visitAsExpression(AsExpression node) => + _staticallyNonNullable(node.getStaticType(_staticTypeContext)) + ? false + : isNullable(node.operand); @override bool visitSymbolLiteral(SymbolLiteral node) => false;