跳到主要内容

tighten_type_of_initializing_formals

使用类型注解而不是 'assert' 来强制执行非空性。

描述

#

分析器会在构造函数的初始化列表中使用 assert 来确保只使用非 null 值初始化字段时产生此诊断信息。

示例

#

以下代码产生此诊断信息,因为正在使用 assert 来捕获一个本可以由类型系统捕获的错误。

dart
class C {
  final String? s;

  C(this.s) : assert(s != null);
}

常见修复方法

#

移除 assert 并在初始化形参前添加非空类型。

dart
class C {
  final String? s;

  C(String this.s);
}