分析器查找对潜在空值的未经检查的访问

时间:2019-03-28 20:29:09

标签: dart dart-2 dart-sdk dart-analyzer

我正在尝试找出在Dart中避免使用未经编译器/分析器支持对null进行未经检查的访问的状态。

他们已经完成了TypeScript两年的工作,他们严格的default-non-null是使代码更加安全的一大进步。我比Scala的Option-语义学更喜欢它。

是否有一个分析器选项能够通过流量分析来跟踪(所有)潜在的空访问?

例如,以下代码应该失败:

void foo(String b) {
  print(b.length);
}

void main() {
  foo(null);
}

它应报告为:由于在第6行中传递了null,因此在第2行中未选中的null访问权限。

因此,作为开发人员,我可以决定修复第1行或第2行。

1 个答案:

答案 0 :(得分:0)

当前没有此类支持。

Dart语言团队正在积极努力,将非空类型添加到Dart类型系统中。这将是一个重大更改,因此不会在前几个季度完成。