跳到主要内容

return_of_do_not_store

'{0}' 带有 'doNotStore' 注解,除非 '{1}' 也带有该注解,否则不应返回该值。

描述

#

分析器在从没有 doNotStore 注解的方法、Getter 或函数返回带有该注解的值时会生成此诊断。

示例

#

以下代码产生此诊断,因为调用 f 的结果不应被存储,但函数 g 未被注解以保留此语义

dart
import 'package:meta/meta.dart';

@doNotStore
int f() => 0;

int g() => f();

常见修复方法

#

如果该不应被存储的值是正确的返回值,则用 doNotStore 注解标记该函数

dart
import 'package:meta/meta.dart';

@doNotStore
int f() => 0;

@doNotStore
int g() => f();

否则,从函数中返回一个不同的值

dart
import 'package:meta/meta.dart';

@doNotStore
int f() => 0;

int g() => 0;