跳到主要内容

invalid_annotation

注解必须是 const 变量引用或 const 构造函数调用。

描述

#

当发现注解使用的内容既不是标记为 const 的变量,也不是对 const 构造函数的调用时,分析器会产生此诊断信息。

Getter 不能用作注解。

示例

#

以下代码会产生此诊断信息,因为变量 v 不是 const 变量:

dart
var v = 0;

@v
void f() {
}

以下代码会产生此诊断信息,因为 f 不是变量:

dart
@f
void f() {
}

以下代码会产生此诊断信息,因为 f 不是构造函数:

dart
@f()
void f() {
}

以下代码会产生此诊断信息,因为 g 是 getter:

dart
@g
int get g => 0;

常见修复

#

如果注解引用的是一个变量,并且该变量不是 const 变量,请在变量声明中添加关键字 const

dart
const v = 0;

@v
void f() {
}

如果注解引用的不是变量,则将其移除。

dart
int v = 0;

void f() {
}