Skip to content

Commit 3960ca4

Browse files
committed
suggested changes done
1 parent ff56afc commit 3960ca4

File tree

4 files changed

+26
-42
lines changed

4 files changed

+26
-42
lines changed

lib/analysis_options.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ custom_lint:
9494
- prefer_first
9595
- prefer_last
9696
- prefer_match_file_name:
97-
ignore_extensions: true
9897
- proper_super_calls
9998

10099
linter:

lib/src/common/parameters/excluded_entities_list_parameter.dart

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,32 @@ import 'package:analyzer/dart/ast/ast.dart';
33
/// A model representing "exclude_entity" parameters for linting, defining
44
/// identifiers (classes, mixins, enums, extensions) to be ignored during
55
/// analysis.
6-
class ExcludedEntitiesListParameters {
6+
/// Supported entities:
7+
/// - class
8+
/// - mixin
9+
/// - extension
10+
/// - enum
11+
class ExcludedEntitiesListParameter {
712
/// The parameter model
813
final List<String> excludedEntityNames;
914

1015
/// A common parameter key for analysis_options.yaml
1116
static const String excludeEntityKey = 'exclude_entity';
1217

13-
/// Constructor for [ExcludedEntitiesListParameters] class
14-
ExcludedEntitiesListParameters({
18+
/// Constructor for [ExcludedEntitiesListParameter] class
19+
ExcludedEntitiesListParameter({
1520
required this.excludedEntityNames,
1621
});
1722

1823
/// Method for creating from json data
19-
factory ExcludedEntitiesListParameters.fromJson(Map<String, dynamic> json) {
24+
factory ExcludedEntitiesListParameter.fromJson(Map<String, dynamic> json) {
2025
final raw = json['exclude_entity'];
2126
if (raw is List) {
22-
return ExcludedEntitiesListParameters(
27+
return ExcludedEntitiesListParameter(
2328
excludedEntityNames: List<String>.from(raw),
2429
);
2530
}
26-
return ExcludedEntitiesListParameters(
31+
return ExcludedEntitiesListParameter(
2732
excludedEntityNames: [],
2833
);
2934
}

lib/src/lints/prefer_match_file_name/models/prefer_match_file_name_parameters.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import 'package:solid_lints/src/common/parameters/excluded_entities_list_paramet
44
/// parameters
55
class PreferMatchFileNameParameters {
66
/// A list of entities that should be excluded from the lint.
7-
final ExcludedEntitiesListParameters excludeEntity;
7+
final ExcludedEntitiesListParameter excludeEntity;
88

99
/// Constructor for [PreferMatchFileNameParameters] model
1010
const PreferMatchFileNameParameters({
@@ -14,6 +14,6 @@ class PreferMatchFileNameParameters {
1414
/// Method for creating from json data
1515
factory PreferMatchFileNameParameters.fromJson(Map<String, Object?> json) =>
1616
PreferMatchFileNameParameters(
17-
excludeEntity: ExcludedEntitiesListParameters.fromJson(json),
17+
excludeEntity: ExcludedEntitiesListParameter.fromJson(json),
1818
);
1919
}

lib/src/lints/prefer_match_file_name/visitors/prefer_match_file_name_visitor.dart

Lines changed: 13 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -11,54 +11,38 @@ class PreferMatchFileNameVisitor extends RecursiveAstVisitor<void> {
1111

1212
/// Iterable that contains the name of entity (or entities) that should
1313
/// be ignored
14-
final ExcludedEntitiesListParameters excludedEntities;
14+
final ExcludedEntitiesListParameter excludedEntities;
1515

1616
/// Constructor of [PreferMatchFileNameVisitor] class
1717
PreferMatchFileNameVisitor({
1818
required this.excludedEntities,
1919
});
2020

2121
/// List of all declarations
22-
Iterable<DeclarationTokenInfo> get declarations => _declarations
23-
..sort(
24-
// partition into public and private
25-
// put public ones first
26-
// each partition sorted by declaration order
27-
(a, b) => _publicDeclarationsFirst(a, b) ?? _byDeclarationOrder(a, b),
28-
);
29-
30-
// bool _shouldIgnore(Declaration node) {
31-
// if (excludedEntities.isEmpty) return false;
32-
//
33-
// if (node is ClassDeclaration && excludedEntities.contains('class')) {
34-
// return true;
35-
// } else if (node is MixinDeclaration && excludedEntities.contains('mixin')) {
36-
// return true;
37-
// } else if (node is EnumDeclaration && excludedEntities.contains('enum')) {
38-
// return true;
39-
// } else if (node is ExtensionDeclaration &&
40-
// excludedEntities.contains('extension')) {
41-
// return true;
42-
// }
43-
//
44-
// return false;
45-
// }
22+
Iterable<DeclarationTokenInfo> get declarations => _declarations.where(
23+
(declaration) {
24+
if (declaration.parent is Declaration) {
25+
return !excludedEntities
26+
.shouldIgnoreEntity(declaration.parent as Declaration);
27+
}
28+
return true;
29+
},
30+
).toList()
31+
..sort(
32+
(a, b) => _publicDeclarationsFirst(a, b) ?? _byDeclarationOrder(a, b),
33+
);
4634

4735
@override
4836
void visitClassDeclaration(ClassDeclaration node) {
4937
super.visitClassDeclaration(node);
5038

51-
if (excludedEntities.shouldIgnoreEntity(node)) return;
52-
5339
_declarations.add((token: node.name, parent: node));
5440
}
5541

5642
@override
5743
void visitExtensionDeclaration(ExtensionDeclaration node) {
5844
super.visitExtensionDeclaration(node);
5945

60-
if (excludedEntities.shouldIgnoreEntity(node)) return;
61-
6246
final name = node.name;
6347
if (name != null) {
6448
_declarations.add((token: name, parent: node));
@@ -69,17 +53,13 @@ class PreferMatchFileNameVisitor extends RecursiveAstVisitor<void> {
6953
void visitMixinDeclaration(MixinDeclaration node) {
7054
super.visitMixinDeclaration(node);
7155

72-
if (excludedEntities.shouldIgnoreEntity(node)) return;
73-
7456
_declarations.add((token: node.name, parent: node));
7557
}
7658

7759
@override
7860
void visitEnumDeclaration(EnumDeclaration node) {
7961
super.visitEnumDeclaration(node);
8062

81-
if (excludedEntities.shouldIgnoreEntity(node)) return;
82-
8363
_declarations.add((token: node.name, parent: node));
8464
}
8565

0 commit comments

Comments
 (0)