Skip to content

Commit

Permalink
fix library_private_types_in_public_api overreporting on enum cons …
Browse files Browse the repository at this point in the history
  • Loading branch information
pq authored Jul 5, 2023
1 parent 291de9e commit 777f494
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
3 changes: 3 additions & 0 deletions lib/src/rules/library_private_types_in_public_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,9 @@ class Validator extends SimpleAstVisitor<void> {
if (name != null && Identifier.isPrivateName(name.lexeme)) {
return;
}
// Enum constructors are effectively private so don't visit their params.
if (node.parent is EnumDeclaration) return;

node.parameters.accept(this);
}

Expand Down
13 changes: 13 additions & 0 deletions test/rules/library_private_types_in_public_api_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,19 @@ enum E {
lint(75, 2),
]);
}

/// https://github.com/dart-lang/linter/issues/4470
test_enum_constructorParams() async {
await assertNoDiagnostics(r'''
class _O {
const _O();
}
enum E {
a(_O());
const E(_O o);
}
''');
}
}

@reflectiveTest
Expand Down

0 comments on commit 777f494

Please sign in to comment.