type_init_formals
不要不必要地为初始化形式参数添加类型标注。
描述
#当初始化形式参数(this.x
)或超类参数(super.x
)具有与字段或被覆盖参数相同的显式类型标注时,分析器会生成此诊断信息。
如果构造函数参数使用 this.x
来初始化字段,则参数的类型隐式地与字段类型相同。如果构造函数参数使用 super.x
来转发到超类构造函数,则参数的类型隐式地与超类构造函数参数相同。
示例
#以下代码生成此诊断信息是因为参数 this.c
的显式类型与字段 c
相同
dart
class C {
int c;
C(int this.c);
}
以下代码生成此诊断信息是因为参数 super.a
的显式类型与超类中的参数 a
相同
dart
class A {
A(int a);
}
class B extends A {
B(int super.a);
}
常见修复
#从参数中移除类型标注
dart
class C {
int c;
C(this.c);
}