跳到主要内容

non_const_call_to_literal_constructor

此实例创建必须使用 'const',因为 {0} 构造函数被标记为 '@literal'。

描述

#

当一个带有 literal 注解的构造函数在调用时未使用 const 关键字,但构造函数的所有参数都是常量时,分析器会产生此诊断信息。此注解表明该构造函数应尽可能用于创建常量值。

示例

#

以下代码会产生此诊断信息

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

class C {
  @literal
  const C();
}

C f() => C();

常见修复方法

#

在构造函数调用前添加关键字 const

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

class C {
  @literal
  const C();
}

void f() => const C();