Skip to content

Commit 3769d30

Browse files
committed
refactor code
1 parent babf88e commit 3769d30

File tree

2 files changed

+17
-83
lines changed

2 files changed

+17
-83
lines changed

lib/src/lints/use_descriptive_names_for_type_parameters/use_descriptive_names_for_type_parameters_rule.dart

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import 'package:analyzer/dart/ast/ast.dart';
22
import 'package:analyzer/error/listener.dart';
33
import 'package:custom_lint_builder/custom_lint_builder.dart';
4-
import 'package:solid_lints/src/lints/use_descriptive_names_for_type_parameters/visitors/use_descriptive_names_for_type_parameters_visitor.dart';
54
import 'package:solid_lints/src/models/rule_config.dart';
65
import 'package:solid_lints/src/models/solid_lint_rule.dart';
76

@@ -37,48 +36,43 @@ class UseDescriptiveNamesForTypeParametersRule extends SolidLintRule {
3736
CustomLintContext context,
3837
) {
3938
context.registry.addClassDeclaration((node) {
40-
final visitor = UseDescriptiveNamesForTypeParametersVisitor();
41-
visitor.visitClassDeclaration(node);
42-
_reportViolations(reporter, visitor.singleLetterTypeParameters);
39+
_checkAndReport(node.typeParameters, reporter);
4340
});
4441

4542
context.registry.addFunctionDeclaration((node) {
46-
final visitor = UseDescriptiveNamesForTypeParametersVisitor();
47-
visitor.visitFunctionDeclaration(node);
48-
_reportViolations(reporter, visitor.singleLetterTypeParameters);
43+
_checkAndReport(node.functionExpression.typeParameters, reporter);
4944
});
5045

5146
context.registry.addMethodDeclaration((node) {
52-
final visitor = UseDescriptiveNamesForTypeParametersVisitor();
53-
visitor.visitMethodDeclaration(node);
54-
_reportViolations(reporter, visitor.singleLetterTypeParameters);
47+
_checkAndReport(node.typeParameters, reporter);
5548
});
5649

5750
context.registry.addGenericTypeAlias((node) {
58-
final visitor = UseDescriptiveNamesForTypeParametersVisitor();
59-
visitor.visitGenericTypeAlias(node);
60-
_reportViolations(reporter, visitor.singleLetterTypeParameters);
51+
_checkAndReport(node.typeParameters, reporter);
6152
});
6253

6354
context.registry.addExtensionDeclaration((node) {
64-
final visitor = UseDescriptiveNamesForTypeParametersVisitor();
65-
visitor.visitExtensionDeclaration(node);
66-
_reportViolations(reporter, visitor.singleLetterTypeParameters);
55+
_checkAndReport(node.typeParameters, reporter);
6756
});
6857

6958
context.registry.addMixinDeclaration((node) {
70-
final visitor = UseDescriptiveNamesForTypeParametersVisitor();
71-
visitor.visitMixinDeclaration(node);
72-
_reportViolations(reporter, visitor.singleLetterTypeParameters);
59+
_checkAndReport(node.typeParameters, reporter);
7360
});
7461
}
7562

76-
void _reportViolations(
63+
void _checkAndReport(
64+
TypeParameterList? typeParameters,
7765
ErrorReporter reporter,
78-
List<TypeParameter> singleLetterTypeParameters,
7966
) {
80-
for (final param in singleLetterTypeParameters) {
81-
reporter.atNode(param, code);
67+
if (typeParameters == null || typeParameters.typeParameters.length < 3) {
68+
return;
69+
}
70+
71+
for (final param in typeParameters.typeParameters) {
72+
final name = param.name.lexeme;
73+
if (name.length == 1) {
74+
reporter.atNode(param, code);
75+
}
8276
}
8377
}
8478
}

lib/src/lints/use_descriptive_names_for_type_parameters/visitors/use_descriptive_names_for_type_parameters_visitor.dart

Lines changed: 0 additions & 60 deletions
This file was deleted.

0 commit comments

Comments
 (0)