invalid_internal_annotation
一个包的私有 API 中只有公共元素可以被注解为内部的。
描述
#当一个声明被 internal
注解标记,且该声明位于公共库中或具有私有名称时,分析器会产生此诊断。
示例
#当以下代码位于公共库中时,会产生此诊断,因为 internal
注解不能应用于公共库中的声明。
dart
import 'package:meta/meta.dart';
@internal
class C {}
当以下代码无论位于公共库还是内部库中时,都会产生此诊断,因为 internal
注解不能应用于具有私有名称的声明。
dart
import 'package:meta/meta.dart';
@internal
class _C {}
void f(_C c) {}
常见修复
#如果声明具有私有名称,则移除该注解。
dart
class _C {}
void f(_C c) {}
如果声明具有公共名称,并且旨在作为包的内部使用,则将带注解的声明移至内部库(换句话说,位于 src
目录内的库)。
否则,移除该注解的使用。
dart
class C {}