Stop reporting unnecessary_const_in_enum_constructor for constructors outside an enum
Closes https://github.com/dart-lang/sdk/issues/63338 Change-Id: I7b613e22df0eb563076d85ac7f46a7c22a4cb2d0 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/501561 Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
committed by
dart-scoped@luci-project-accounts.iam.gserviceaccount.com
parent
c47b30ee9a
commit
687a5cb840
@@ -48,6 +48,7 @@ class _Visitor extends SimpleAstVisitor<void> {
|
||||
|
||||
@override
|
||||
void visitConstructorDeclaration(ConstructorDeclaration node) {
|
||||
if (node.parent is! BlockEnumBody) return;
|
||||
var constKeyword = node.constKeyword;
|
||||
if (constKeyword != null) {
|
||||
rule.reportAtToken(constKeyword);
|
||||
@@ -56,6 +57,7 @@ class _Visitor extends SimpleAstVisitor<void> {
|
||||
|
||||
@override
|
||||
void visitPrimaryConstructorDeclaration(PrimaryConstructorDeclaration node) {
|
||||
if (node.parent is! EnumDeclaration) return;
|
||||
var constKeyword = node.constKeyword;
|
||||
if (constKeyword != null) {
|
||||
rule.reportAtToken(constKeyword);
|
||||
|
||||
@@ -17,7 +17,13 @@ class UnnecessaryConstInEnumConstructorTest extends LintRuleTest {
|
||||
@override
|
||||
String get lintRule => LintNames.unnecessary_const_in_enum_constructor;
|
||||
|
||||
test_primary() async {
|
||||
test_primary_inClass() async {
|
||||
await assertNoDiagnostics(r'''
|
||||
class const C();
|
||||
''');
|
||||
}
|
||||
|
||||
test_primary_inEnum() async {
|
||||
await assertDiagnosticsFromMarkdown(r'''
|
||||
enum [!const!] E(final int i) {
|
||||
a(1), b(2);
|
||||
@@ -25,7 +31,15 @@ enum [!const!] E(final int i) {
|
||||
''');
|
||||
}
|
||||
|
||||
test_secondary() async {
|
||||
test_secondary_inClass() async {
|
||||
await assertNoDiagnostics(r'''
|
||||
class C {
|
||||
const C();
|
||||
}
|
||||
''');
|
||||
}
|
||||
|
||||
test_secondary_inEnum() async {
|
||||
await assertDiagnosticsFromMarkdown(r'''
|
||||
enum E {
|
||||
a(1), b(2);
|
||||
|
||||
Reference in New Issue
Block a user