跳到主要內容

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();