From f8f4f76df23cb39145002fc82a7e13d7ef90262f Mon Sep 17 00:00:00 2001 From: xJac0b Date: Sun, 28 Sep 2025 13:21:34 +0200 Subject: [PATCH 1/3] Update dependencies --- CHANGELOG.md | 4 ++ example/pubspec.yaml | 2 +- .../excluded_identifiers_list_parameter.dart | 2 +- .../avoid_debug_print_in_release_rule.dart | 14 ++--- .../avoid_final_with_getter_rule.dart | 4 +- .../fixes/avoid_final_with_getter_fix.dart | 4 +- .../avoid_final_with_getter_visitor.dart | 8 +-- .../visitors/getter_variable_visitor.dart | 6 +- .../avoid_global_state_rule.dart | 4 +- .../avoid_late_keyword_rule.dart | 2 +- .../avoid_non_null_assertion_rule.dart | 2 +- .../avoid_returning_widgets_rule.dart | 18 +++--- .../avoid_unnecessary_set_state_rule.dart | 2 +- ...void_unnecessary_type_assertions_rule.dart | 4 +- ...avoid_unnecessary_type_assertions_fix.dart | 4 +- .../avoid_unnecessary_type_casts_rule.dart | 4 +- .../avoid_unnecessary_type_casts_fix.dart | 4 +- .../avoid_unrelated_type_assertions_rule.dart | 2 +- ...oid_unrelated_type_assertions_visitor.dart | 21 ++++--- .../avoid_unused_parameters_rule.dart | 2 +- .../avoid_unused_parameters_visitor.dart | 8 +-- .../avoid_using_api_linter.dart | 58 +++++++++---------- .../avoid_using_api/avoid_using_api_rule.dart | 6 +- .../avoid_using_api_utils.dart | 4 +- .../avoid_using_api_entry_parameters.dart | 2 +- .../models/avoid_using_api_parameters.dart | 2 +- .../cyclomatic_complexity_rule.dart | 7 ++- .../double_literal_format_rule.dart | 4 +- .../fixes/double_literal_format_fix.dart | 4 +- .../function_lines_of_code_rule.dart | 6 +- .../member_ordering/member_ordering_rule.dart | 2 +- .../named_parameters_ordering_rule.dart | 2 +- .../newline_before_return_rule.dart | 2 +- .../no_empty_block/no_empty_block_rule.dart | 5 +- .../no_equal_then_else_rule.dart | 2 +- .../no_magic_number/no_magic_number_rule.dart | 2 +- .../number_of_parameters_rule.dart | 9 ++- .../prefer_conditional_expressions_fix.dart | 6 +- .../prefer_conditional_expressions_rule.dart | 2 +- .../prefer_early_return_rule.dart | 2 +- .../prefer_first/fixes/prefer_first_fix.dart | 6 +- .../lints/prefer_first/prefer_first_rule.dart | 2 +- .../prefer_last/fixes/prefer_last_fix.dart | 6 +- .../lints/prefer_last/prefer_last_rule.dart | 2 +- .../prefer_match_file_name_rule.dart | 7 ++- .../proper_super_calls_rule.dart | 9 +-- lib/src/models/rule_config.dart | 2 +- lib/src/utils/named_type_utils.dart | 10 ++-- lib/src/utils/parameter_utils.dart | 12 ++-- lib/src/utils/typecast_utils.dart | 10 +++- lib/src/utils/types_utils.dart | 9 ++- pubspec.yaml | 6 +- 52 files changed, 175 insertions(+), 154 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c761195..3c1c08c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ ## 0.3.2 - Added `named_parameters_ordering` rule. +- Update dependencies: + - Update min Dart SDK constraint to 3.8.0 + - Update `analyzer` dependency to 8.1.1 + - Update `custom_lint_builder` dependency to 0.8.1 ## 0.3.1 diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 05ebfa22..0171dfc8 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: sdk: flutter dev_dependencies: - custom_lint: ^0.7.1 + custom_lint: ^0.8.1 solid_lints: path: ../ test: ^1.25.14 diff --git a/lib/src/common/parameters/excluded_identifiers_list_parameter.dart b/lib/src/common/parameters/excluded_identifiers_list_parameter.dart index 2f328f1e..8a4b1097 100644 --- a/lib/src/common/parameters/excluded_identifiers_list_parameter.dart +++ b/lib/src/common/parameters/excluded_identifiers_list_parameter.dart @@ -55,7 +55,7 @@ class ExcludedIdentifiersListParameter { /// Returns whether the target node should be ignored during analysis. bool shouldIgnore(Declaration node) { - final declarationName = node.declaredFragment?.name2; + final declarationName = node.declaredFragment?.name; final excludedItem = exclude.firstWhereOrNull( (e) { diff --git a/lib/src/lints/avoid_debug_print_in_release/avoid_debug_print_in_release_rule.dart b/lib/src/lints/avoid_debug_print_in_release/avoid_debug_print_in_release_rule.dart index fc951135..e9b52edb 100644 --- a/lib/src/lints/avoid_debug_print_in_release/avoid_debug_print_in_release_rule.dart +++ b/lib/src/lints/avoid_debug_print_in_release/avoid_debug_print_in_release_rule.dart @@ -61,7 +61,7 @@ your `debugPrint` call in a `!kReleaseMode` check.""", @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addFunctionExpressionInvocation( @@ -102,7 +102,7 @@ your `debugPrint` call in a `!kReleaseMode` check.""", void _checkIdentifier({ required Identifier identifier, required AstNode node, - required ErrorReporter reporter, + required DiagnosticReporter reporter, }) { if (!_isDebugPrintNode(identifier)) { return; @@ -137,7 +137,7 @@ your `debugPrint` call in a `!kReleaseMode` check.""", /// Handles variable assignment and declaration void _handleVariableAssignmentDeclaration({ required AstNode node, - required ErrorReporter reporter, + required DiagnosticReporter reporter, }) { final rightOperand = _getRightOperand(node.childEntities.toList()); @@ -159,10 +159,10 @@ your `debugPrint` call in a `!kReleaseMode` check.""", case PrefixedIdentifier(): final prefix = node.prefix.name; name = node.name.replaceAll('$prefix.', ''); - sourcePath = node.element?.library2?.uri.toString() ?? ''; + sourcePath = node.element?.library?.uri.toString() ?? ''; case SimpleIdentifier(): name = node.name; - sourcePath = node.element?.library2?.uri.toString() ?? ''; + sourcePath = node.element?.library?.uri.toString() ?? ''; default: return false; @@ -193,10 +193,10 @@ your `debugPrint` call in a `!kReleaseMode` check.""", final prefix = node.prefix.name; name = node.name.replaceAll('$prefix.', ''); - sourcePath = node.element?.library2?.uri.toString() ?? ''; + sourcePath = node.element?.library?.uri.toString() ?? ''; case SimpleIdentifier(): name = node.name; - sourcePath = node.element?.library2?.uri.toString() ?? ''; + sourcePath = node.element?.library?.uri.toString() ?? ''; default: return false; } diff --git a/lib/src/lints/avoid_final_with_getter/avoid_final_with_getter_rule.dart b/lib/src/lints/avoid_final_with_getter/avoid_final_with_getter_rule.dart index fa844a96..cd0f0d9a 100644 --- a/lib/src/lints/avoid_final_with_getter/avoid_final_with_getter_rule.dart +++ b/lib/src/lints/avoid_final_with_getter/avoid_final_with_getter_rule.dart @@ -1,4 +1,4 @@ -import 'package:analyzer/error/error.dart' as error; +import 'package:analyzer/diagnostic/diagnostic.dart'; import 'package:analyzer/error/listener.dart'; import 'package:analyzer/source/source_range.dart'; import 'package:custom_lint_builder/custom_lint_builder.dart'; @@ -56,7 +56,7 @@ class AvoidFinalWithGetterRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addCompilationUnit((node) { diff --git a/lib/src/lints/avoid_final_with_getter/fixes/avoid_final_with_getter_fix.dart b/lib/src/lints/avoid_final_with_getter/fixes/avoid_final_with_getter_fix.dart index a9f304d4..9dc78c8b 100644 --- a/lib/src/lints/avoid_final_with_getter/fixes/avoid_final_with_getter_fix.dart +++ b/lib/src/lints/avoid_final_with_getter/fixes/avoid_final_with_getter_fix.dart @@ -6,8 +6,8 @@ class _FinalWithGetterFix extends DartFix { CustomLintResolver resolver, ChangeReporter reporter, CustomLintContext context, - error.AnalysisError analysisError, - List others, + Diagnostic analysisError, + List others, ) { context.registry.addMethodDeclaration((node) { if (analysisError.sourceRange.intersects(node.sourceRange)) { diff --git a/lib/src/lints/avoid_final_with_getter/visitors/avoid_final_with_getter_visitor.dart b/lib/src/lints/avoid_final_with_getter/visitors/avoid_final_with_getter_visitor.dart index f8cd8e67..3a32faa6 100644 --- a/lib/src/lints/avoid_final_with_getter/visitors/avoid_final_with_getter_visitor.dart +++ b/lib/src/lints/avoid_final_with_getter/visitors/avoid_final_with_getter_visitor.dart @@ -1,6 +1,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/visitor.dart'; -import 'package:analyzer/dart/element/element2.dart'; +import 'package:analyzer/dart/element/element.dart'; import 'package:solid_lints/src/lints/avoid_final_with_getter/visitors/getter_variable_visitor.dart'; /// A visitor that checks for final private fields with getters. @@ -17,11 +17,11 @@ class AvoidFinalWithGetterVisitor extends RecursiveAstVisitor { case MethodDeclaration( isGetter: true, declaredFragment: ExecutableFragment( - element: ExecutableElement2( + element: ExecutableElement( isAbstract: false, isPublic: true, - ) - ) + ), + ), )) { final visitor = GetterVariableVisitor(node); node.parent?.accept(visitor); diff --git a/lib/src/lints/avoid_final_with_getter/visitors/getter_variable_visitor.dart b/lib/src/lints/avoid_final_with_getter/visitors/getter_variable_visitor.dart index 954e3775..ea078e5f 100644 --- a/lib/src/lints/avoid_final_with_getter/visitors/getter_variable_visitor.dart +++ b/lib/src/lints/avoid_final_with_getter/visitors/getter_variable_visitor.dart @@ -1,6 +1,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/visitor.dart'; -import 'package:analyzer/dart/element/element2.dart'; +import 'package:analyzer/dart/element/element.dart'; /// A visitor that checks the association of the getter with /// the final private variable @@ -36,8 +36,8 @@ extension on MethodDeclaration { final expression = (body as ExpressionFunctionBody).expression; if (expression is SimpleIdentifier) { final element = expression.element; - if (element is PropertyAccessorElement2) { - return element.variable3?.id; + if (element is PropertyAccessorElement) { + return element.variable.id; } } diff --git a/lib/src/lints/avoid_global_state/avoid_global_state_rule.dart b/lib/src/lints/avoid_global_state/avoid_global_state_rule.dart index 8c62c0ec..574d6cf6 100644 --- a/lib/src/lints/avoid_global_state/avoid_global_state_rule.dart +++ b/lib/src/lints/avoid_global_state/avoid_global_state_rule.dart @@ -57,7 +57,7 @@ class AvoidGlobalStateRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addTopLevelVariableDeclaration( @@ -77,7 +77,7 @@ class AvoidGlobalStateRule extends SolidLintRule { extension on VariableDeclaration { bool get isMutable => !isFinal && !isConst; - bool get isPrivate => declaredElement2?.isPrivate ?? false; + bool get isPrivate => declaredElement?.isPrivate ?? false; bool get isPublicMutable => isMutable && !isPrivate; } diff --git a/lib/src/lints/avoid_late_keyword/avoid_late_keyword_rule.dart b/lib/src/lints/avoid_late_keyword/avoid_late_keyword_rule.dart index e42c7fd6..5110bbf7 100644 --- a/lib/src/lints/avoid_late_keyword/avoid_late_keyword_rule.dart +++ b/lib/src/lints/avoid_late_keyword/avoid_late_keyword_rule.dart @@ -71,7 +71,7 @@ class AvoidLateKeywordRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addVariableDeclaration((node) { diff --git a/lib/src/lints/avoid_non_null_assertion/avoid_non_null_assertion_rule.dart b/lib/src/lints/avoid_non_null_assertion/avoid_non_null_assertion_rule.dart index e7c93285..2b27901d 100644 --- a/lib/src/lints/avoid_non_null_assertion/avoid_non_null_assertion_rule.dart +++ b/lib/src/lints/avoid_non_null_assertion/avoid_non_null_assertion_rule.dart @@ -60,7 +60,7 @@ class AvoidNonNullAssertionRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addPostfixExpression((node) { diff --git a/lib/src/lints/avoid_returning_widgets/avoid_returning_widgets_rule.dart b/lib/src/lints/avoid_returning_widgets/avoid_returning_widgets_rule.dart index 0e5d6b43..00650620 100644 --- a/lib/src/lints/avoid_returning_widgets/avoid_returning_widgets_rule.dart +++ b/lib/src/lints/avoid_returning_widgets/avoid_returning_widgets_rule.dart @@ -65,9 +65,8 @@ class AvoidReturningWidgetsRule configs: configs, name: lintName, paramsParser: AvoidReturningWidgetsParameters.fromJson, - problemMessage: (_) => - 'Returning a widget from a function is considered an anti-pattern. ' - 'Unless you are overriding an existing method, ' + problemMessage: (_) => 'Returning a widget from a function is considered ' + 'an anti-pattern. Unless you are overriding an existing method, ' 'consider extracting your widget to a separate class.', ); @@ -77,7 +76,7 @@ class AvoidReturningWidgetsRule @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addDeclaration((node) { @@ -101,11 +100,12 @@ class AvoidReturningWidgetsRule final isOverriden = switch (node) { FunctionDeclaration(:final functionExpression) => functionExpression.parent is MethodDeclaration && - (functionExpression.parent! as MethodDeclaration) - .metadata - .any((m) => m.name.name == _override), - MethodDeclaration(:final metadata) => - metadata.any((m) => m.name.name == _override), + (functionExpression.parent! as MethodDeclaration).metadata.any( + (m) => m.name.name == _override, + ), + MethodDeclaration(:final metadata) => metadata.any( + (m) => m.name.name == _override, + ), _ => false, }; diff --git a/lib/src/lints/avoid_unnecessary_setstate/avoid_unnecessary_set_state_rule.dart b/lib/src/lints/avoid_unnecessary_setstate/avoid_unnecessary_set_state_rule.dart index 37d7113f..0773e580 100644 --- a/lib/src/lints/avoid_unnecessary_setstate/avoid_unnecessary_set_state_rule.dart +++ b/lib/src/lints/avoid_unnecessary_setstate/avoid_unnecessary_set_state_rule.dart @@ -77,7 +77,7 @@ class AvoidUnnecessarySetStateRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addClassDeclaration((node) { diff --git a/lib/src/lints/avoid_unnecessary_type_assertions/avoid_unnecessary_type_assertions_rule.dart b/lib/src/lints/avoid_unnecessary_type_assertions/avoid_unnecessary_type_assertions_rule.dart index 826a44aa..6f95a11d 100644 --- a/lib/src/lints/avoid_unnecessary_type_assertions/avoid_unnecessary_type_assertions_rule.dart +++ b/lib/src/lints/avoid_unnecessary_type_assertions/avoid_unnecessary_type_assertions_rule.dart @@ -1,6 +1,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/element/type.dart'; -import 'package:analyzer/error/error.dart' as error; +import 'package:analyzer/diagnostic/diagnostic.dart'; import 'package:analyzer/error/listener.dart'; import 'package:analyzer/source/source_range.dart'; import 'package:custom_lint_builder/custom_lint_builder.dart'; @@ -72,7 +72,7 @@ class AvoidUnnecessaryTypeAssertions extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addIsExpression((node) { diff --git a/lib/src/lints/avoid_unnecessary_type_assertions/fixes/avoid_unnecessary_type_assertions_fix.dart b/lib/src/lints/avoid_unnecessary_type_assertions/fixes/avoid_unnecessary_type_assertions_fix.dart index 40afae08..3c429e66 100644 --- a/lib/src/lints/avoid_unnecessary_type_assertions/fixes/avoid_unnecessary_type_assertions_fix.dart +++ b/lib/src/lints/avoid_unnecessary_type_assertions/fixes/avoid_unnecessary_type_assertions_fix.dart @@ -8,8 +8,8 @@ class _UnnecessaryTypeAssertionsFix extends DartFix { CustomLintResolver resolver, ChangeReporter reporter, CustomLintContext context, - error.AnalysisError analysisError, - List others, + Diagnostic analysisError, + List others, ) { context.registry.addIsExpression((node) { if (analysisError.sourceRange.intersects(node.sourceRange)) { diff --git a/lib/src/lints/avoid_unnecessary_type_casts/avoid_unnecessary_type_casts_rule.dart b/lib/src/lints/avoid_unnecessary_type_casts/avoid_unnecessary_type_casts_rule.dart index d90d1629..7db9ff71 100644 --- a/lib/src/lints/avoid_unnecessary_type_casts/avoid_unnecessary_type_casts_rule.dart +++ b/lib/src/lints/avoid_unnecessary_type_casts/avoid_unnecessary_type_casts_rule.dart @@ -1,5 +1,5 @@ import 'package:analyzer/dart/ast/ast.dart'; -import 'package:analyzer/error/error.dart' as error; +import 'package:analyzer/diagnostic/diagnostic.dart'; import 'package:analyzer/error/listener.dart' as error_listener; import 'package:analyzer/source/source_range.dart'; import 'package:custom_lint_builder/custom_lint_builder.dart'; @@ -33,7 +33,7 @@ class AvoidUnnecessaryTypeCastsRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - error_listener.ErrorReporter reporter, + error_listener.DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addAsExpression((node) { diff --git a/lib/src/lints/avoid_unnecessary_type_casts/fixes/avoid_unnecessary_type_casts_fix.dart b/lib/src/lints/avoid_unnecessary_type_casts/fixes/avoid_unnecessary_type_casts_fix.dart index 05c11a1b..d03b6fcc 100644 --- a/lib/src/lints/avoid_unnecessary_type_casts/fixes/avoid_unnecessary_type_casts_fix.dart +++ b/lib/src/lints/avoid_unnecessary_type_casts/fixes/avoid_unnecessary_type_casts_fix.dart @@ -8,8 +8,8 @@ class _UnnecessaryTypeCastsFix extends DartFix { CustomLintResolver resolver, ChangeReporter reporter, CustomLintContext context, - error.AnalysisError analysisError, - List others, + Diagnostic analysisError, + List others, ) { context.registry.addAsExpression((node) { if (analysisError.sourceRange.intersects(node.sourceRange)) { diff --git a/lib/src/lints/avoid_unrelated_type_assertions/avoid_unrelated_type_assertions_rule.dart b/lib/src/lints/avoid_unrelated_type_assertions/avoid_unrelated_type_assertions_rule.dart index c1745eed..0b63cc37 100644 --- a/lib/src/lints/avoid_unrelated_type_assertions/avoid_unrelated_type_assertions_rule.dart +++ b/lib/src/lints/avoid_unrelated_type_assertions/avoid_unrelated_type_assertions_rule.dart @@ -31,7 +31,7 @@ class AvoidUnrelatedTypeAssertionsRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addIsExpression((node) { diff --git a/lib/src/lints/avoid_unrelated_type_assertions/visitors/avoid_unrelated_type_assertions_visitor.dart b/lib/src/lints/avoid_unrelated_type_assertions/visitors/avoid_unrelated_type_assertions_visitor.dart index 513064e3..dbcbf543 100644 --- a/lib/src/lints/avoid_unrelated_type_assertions/visitors/avoid_unrelated_type_assertions_visitor.dart +++ b/lib/src/lints/avoid_unrelated_type_assertions/visitors/avoid_unrelated_type_assertions_visitor.dart @@ -64,10 +64,14 @@ class AvoidUnrelatedTypeAssertionsVisitor extends RecursiveAstVisitor { return false; } - final objectCastedType = - _foundCastedTypeInObjectTypeHierarchy(objectType, castedType); - final castedObjectType = - _foundCastedTypeInObjectTypeHierarchy(castedType, objectType); + final objectCastedType = _foundCastedTypeInObjectTypeHierarchy( + objectType, + castedType, + ); + final castedObjectType = _foundCastedTypeInObjectTypeHierarchy( + castedType, + objectType, + ); if (objectCastedType == null && castedObjectType == null) { return true; } @@ -97,7 +101,7 @@ class AvoidUnrelatedTypeAssertionsVisitor extends RecursiveAstVisitor { ? objectType.typeArguments.first : objectType; - if ((correctObjectType.element3 == castedType.element3) || + if ((correctObjectType.element == castedType.element) || castedType is DynamicType || correctObjectType is DynamicType || _isObjectAndEnum(correctObjectType, castedType)) { @@ -105,8 +109,9 @@ class AvoidUnrelatedTypeAssertionsVisitor extends RecursiveAstVisitor { } if (correctObjectType is InterfaceType) { - return correctObjectType.allSupertypes - .firstWhereOrNull((value) => value.element3 == castedType.element3); + return correctObjectType.allSupertypes.firstWhereOrNull( + (value) => value.element == castedType.element, + ); } return null; @@ -144,5 +149,5 @@ class AvoidUnrelatedTypeAssertionsVisitor extends RecursiveAstVisitor { bool _isObjectAndEnum(DartType objectType, DartType castedType) => objectType.isDartCoreObject && - castedType.element3?.kind == ElementKind.ENUM; + castedType.element?.kind == ElementKind.ENUM; } diff --git a/lib/src/lints/avoid_unused_parameters/avoid_unused_parameters_rule.dart b/lib/src/lints/avoid_unused_parameters/avoid_unused_parameters_rule.dart index c80ef2b7..383425e3 100644 --- a/lib/src/lints/avoid_unused_parameters/avoid_unused_parameters_rule.dart +++ b/lib/src/lints/avoid_unused_parameters/avoid_unused_parameters_rule.dart @@ -90,7 +90,7 @@ class AvoidUnusedParametersRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addDeclaration((node) { diff --git a/lib/src/lints/avoid_unused_parameters/visitors/avoid_unused_parameters_visitor.dart b/lib/src/lints/avoid_unused_parameters/visitors/avoid_unused_parameters_visitor.dart index ea82e04b..a3bc2f6e 100644 --- a/lib/src/lints/avoid_unused_parameters/visitors/avoid_unused_parameters_visitor.dart +++ b/lib/src/lints/avoid_unused_parameters/visitors/avoid_unused_parameters_visitor.dart @@ -23,7 +23,7 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/visitor.dart'; -import 'package:analyzer/dart/element/element2.dart'; +import 'package:analyzer/dart/element/element.dart'; import 'package:collection/collection.dart'; import 'package:solid_lints/src/utils/node_utils.dart'; import 'package:solid_lints/src/utils/parameter_utils.dart'; @@ -129,7 +129,7 @@ class AvoidUnusedParametersVisitor extends RecursiveAstVisitor { for (final parameter in parameters) { final name = parameter.name; final isPresentInAll = allIdentifierElements.contains( - parameter.declaredFragment?.element.baseElement.nonSynthetic2, + parameter.declaredFragment?.element.baseElement.nonSynthetic, ); /// Variables declared and initialized as 'Foo(this.param)' @@ -172,7 +172,7 @@ class AvoidUnusedParametersVisitor extends RecursiveAstVisitor { } class _IdentifiersVisitor extends RecursiveAstVisitor { - final elements = {}; + final elements = {}; @override void visitSimpleIdentifier(SimpleIdentifier node) { @@ -195,7 +195,7 @@ class _InvocationsVisitor extends RecursiveAstVisitor { @override void visitSimpleIdentifier(SimpleIdentifier node) { if (node.name == methodName && - node.element is MethodElement2 && + node.element is MethodElement && node.parent is ArgumentList) { hasTearOffInvocations = true; } diff --git a/lib/src/lints/avoid_using_api/avoid_using_api_linter.dart b/lib/src/lints/avoid_using_api/avoid_using_api_linter.dart index 12fe3a88..7e2b86f0 100644 --- a/lib/src/lints/avoid_using_api/avoid_using_api_linter.dart +++ b/lib/src/lints/avoid_using_api/avoid_using_api_linter.dart @@ -1,5 +1,5 @@ import 'package:analyzer/dart/ast/ast.dart'; -import 'package:analyzer/dart/element/element2.dart'; +import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/error/listener.dart'; import 'package:collection/collection.dart'; import 'package:custom_lint_builder/custom_lint_builder.dart'; @@ -26,7 +26,7 @@ class AvoidUsingApiLinter { final CustomLintResolver resolver; /// The error reporter to create lints - final ErrorReporter reporter; + final DiagnosticReporter reporter; /// The current lint context final CustomLintContext context; @@ -100,7 +100,7 @@ class AvoidUsingApiLinter { switch (node.element) { case LocalFunctionElement() || TopLevelFunctionElement() || - PropertyAccessorElement2(): + PropertyAccessorElement(): reporter.atNode(node, entryCode); } }); @@ -113,13 +113,13 @@ class AvoidUsingApiLinter { String source, ) { context.registry.addVariableDeclaration((node) { - final typeName = node.declaredElement2?.type.element3?.name3; + final typeName = node.declaredElement?.type.element?.name; if (typeName != className) { return; } final sourcePath = - node.declaredElement2?.type.element3?.library2?.uri.toString(); + node.declaredElement?.type.element?.library?.uri.toString(); if (sourcePath == null || !_matchesSource(sourcePath, source)) { return; } @@ -141,24 +141,24 @@ class AvoidUsingApiLinter { case InstanceCreationExpression(:final staticType?): case SimpleIdentifier(:final staticType?): final parentSourcePath = - staticType.element3?.library2?.uri.toString() ?? node.sourceUrl; + staticType.element?.library?.uri.toString() ?? node.sourceUrl; if (parentSourcePath == null || !_matchesSource(parentSourcePath, source)) { return; } - final parentTypeName = staticType.element3?.name3; + final parentTypeName = staticType.element?.name; if (parentTypeName != className) { return; } case SimpleIdentifier(:final element?): final parentSourcePath = - element.library2?.uri.toString() ?? node.sourceUrl; + element.library?.uri.toString() ?? node.sourceUrl; if (parentSourcePath == null || !_matchesSource(parentSourcePath, source)) { return; } - final parentElementName = element.name3; + final parentElementName = element.name; if (parentElementName != className) { return; } @@ -170,7 +170,7 @@ class AvoidUsingApiLinter { }); context.registry.addNamedType((node) { - final nodeTypeName = node.name2.lexeme; + final nodeTypeName = node.name.lexeme; if (nodeTypeName != className) { return; } @@ -223,7 +223,7 @@ class AvoidUsingApiLinter { switch (entityBeforeNode) { case InstanceCreationExpression(:final staticType?): case SimpleIdentifier(:final staticType?): - final parentTypeName = staticType.element3?.name3; + final parentTypeName = staticType.element?.name; if (parentTypeName != className) { return; } @@ -233,7 +233,7 @@ class AvoidUsingApiLinter { entryCode, ); case SimpleIdentifier(:final element?): - final parentElementName = element.name3; + final parentElementName = element.name; if (parentElementName != className) { return; } @@ -242,8 +242,8 @@ class AvoidUsingApiLinter { node.parent ?? node, entryCode, ); - case NamedType(:final element2?): - final parentTypeName = element2.name3; + case NamedType(:final element?): + final parentTypeName = element.name; if (parentTypeName != className) { return; } @@ -259,13 +259,13 @@ class AvoidUsingApiLinter { final methodName = node.methodName.name; if (methodName != identifier) return; - final enclosingElement = node.methodName.element?.enclosingElement2; - if (enclosingElement is! ExtensionElement2 || - enclosingElement.name3 != className) { + final enclosingElement = node.methodName.element?.enclosingElement; + if (enclosingElement is! ExtensionElement || + enclosingElement.name != className) { return; } - final sourcePath = enclosingElement.library2.uri.toString(); + final sourcePath = enclosingElement.library.uri.toString(); if (!_matchesSource(sourcePath, source)) { return; } @@ -277,13 +277,13 @@ class AvoidUsingApiLinter { final propertyName = node.identifier.name; if (propertyName != identifier) return; - final enclosingElement = node.identifier.element?.enclosingElement2; - if (enclosingElement is! ExtensionElement2 || - enclosingElement.name3 != className) { + final enclosingElement = node.identifier.element?.enclosingElement; + if (enclosingElement is! ExtensionElement || + enclosingElement.name != className) { return; } - final sourcePath = enclosingElement.library2.uri.toString(); + final sourcePath = enclosingElement.library.uri.toString(); if (!_matchesSource(sourcePath, source)) return; reporter.atNode(node.identifier, entryCode); @@ -296,13 +296,13 @@ class AvoidUsingApiLinter { LintCode entryCode, ) { context.registry.addInstanceCreationExpression((node) { - final constructorName = node.constructorName.type.name2.lexeme; + final constructorName = node.constructorName.type.name.lexeme; if (constructorName != className || node.constructorName.name != null) { return; } final sourcePath = - node.constructorName.type.element2?.library2?.uri.toString(); + node.constructorName.type.element?.library?.uri.toString(); if (sourcePath == null || !_matchesSource(sourcePath, source)) { return; } @@ -323,8 +323,8 @@ class AvoidUsingApiLinter { final methodName = node.methodName.name; if (methodName != identifier) return; - final enclosingElement = node.methodName.element?.enclosingElement2; - if (enclosingElement == null || enclosingElement.name3 != className) { + final enclosingElement = node.methodName.element?.enclosingElement; + if (enclosingElement == null || enclosingElement.name != className) { return; } @@ -332,7 +332,7 @@ class AvoidUsingApiLinter { return; } - final libSource = enclosingElement.library2; + final libSource = enclosingElement.library; if (libSource == null) { return; } @@ -352,7 +352,7 @@ class AvoidUsingApiLinter { expectedConstructorName = identifier; } - final actualClassName = node.constructorName.type.name2.lexeme; + final actualClassName = node.constructorName.type.name.lexeme; if (actualClassName != className) { return; } @@ -366,7 +366,7 @@ class AvoidUsingApiLinter { } final sourcePath = - node.constructorName.type.element2?.library2?.uri.toString(); + node.constructorName.type.element?.library?.uri.toString(); if (sourcePath == null || !_matchesSource(sourcePath, source)) { return; } diff --git a/lib/src/lints/avoid_using_api/avoid_using_api_rule.dart b/lib/src/lints/avoid_using_api/avoid_using_api_rule.dart index 2e96d221..e774199b 100644 --- a/lib/src/lints/avoid_using_api/avoid_using_api_rule.dart +++ b/lib/src/lints/avoid_using_api/avoid_using_api_rule.dart @@ -89,7 +89,7 @@ class AvoidUsingApiRule extends SolidLintRule { @override Future run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) async { final rootPath = (await resolver.getResolvedUnitResult()) @@ -130,7 +130,7 @@ class AvoidUsingApiRule extends SolidLintRule { :final identifier?, :final namedParameter?, :final className?, - :final source? + :final source?, ): linter.banUsageWithSpecificNamedParameter( entryCode, @@ -142,7 +142,7 @@ class AvoidUsingApiRule extends SolidLintRule { case AvoidUsingApiEntryParameters( :final identifier?, :final className?, - :final source? + :final source?, ): linter.banIdFromClassFromSource( entryCode, diff --git a/lib/src/lints/avoid_using_api/avoid_using_api_utils.dart b/lib/src/lints/avoid_using_api/avoid_using_api_utils.dart index 89928935..ef744380 100644 --- a/lib/src/lints/avoid_using_api/avoid_using_api_utils.dart +++ b/lib/src/lints/avoid_using_api/avoid_using_api_utils.dart @@ -4,7 +4,7 @@ import 'package:analyzer/dart/ast/ast.dart'; extension SimpleIdentifierParentSourceExtension on SimpleIdentifier { /// Returns library of the node String? get sourceUrl { - final parentSource = element?.library2; + final parentSource = element?.library; final parentSourceName = parentSource?.uri.toString(); return parentSourceName; } @@ -14,7 +14,7 @@ extension SimpleIdentifierParentSourceExtension on SimpleIdentifier { extension NamedTypeParentSourceExtension on NamedType { /// Returns library of the node String? get sourceUrl { - final parentSource = element2?.library2; + final parentSource = element?.library; final parentSourceName = parentSource?.uri.toString(); return parentSourceName; } diff --git a/lib/src/lints/avoid_using_api/models/avoid_using_api_entry_parameters.dart b/lib/src/lints/avoid_using_api/models/avoid_using_api_entry_parameters.dart index 337a5ca7..145116da 100644 --- a/lib/src/lints/avoid_using_api/models/avoid_using_api_entry_parameters.dart +++ b/lib/src/lints/avoid_using_api/models/avoid_using_api_entry_parameters.dart @@ -46,7 +46,7 @@ class AvoidUsingApiEntryParameters { final String? source; /// The default severity of the lint for each entry. - final ErrorSeverity? severity; + final DiagnosticSeverity? severity; /// Explain why the code is banned final String? reason; diff --git a/lib/src/lints/avoid_using_api/models/avoid_using_api_parameters.dart b/lib/src/lints/avoid_using_api/models/avoid_using_api_parameters.dart index a7403210..b7e603a3 100644 --- a/lib/src/lints/avoid_using_api/models/avoid_using_api_parameters.dart +++ b/lib/src/lints/avoid_using_api/models/avoid_using_api_parameters.dart @@ -29,7 +29,7 @@ class AvoidUsingApiParameters { final List entries; /// The default severity of the lint for each entry. - final ErrorSeverity? severity; + final DiagnosticSeverity? severity; /// Constructor for [AvoidUsingApiParameters] model const AvoidUsingApiParameters({ diff --git a/lib/src/lints/cyclomatic_complexity/cyclomatic_complexity_rule.dart b/lib/src/lints/cyclomatic_complexity/cyclomatic_complexity_rule.dart index a0a30fae..06d06f23 100644 --- a/lib/src/lints/cyclomatic_complexity/cyclomatic_complexity_rule.dart +++ b/lib/src/lints/cyclomatic_complexity/cyclomatic_complexity_rule.dart @@ -48,13 +48,14 @@ class CyclomaticComplexityRule @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addBlockFunctionBody((node) { context.registry.addDeclaration((declarationNode) { - final isIgnored = - config.parameters.exclude.shouldIgnore(declarationNode); + final isIgnored = config.parameters.exclude.shouldIgnore( + declarationNode, + ); if (isIgnored) return; final visitor = CyclomaticComplexityFlowVisitor(); diff --git a/lib/src/lints/double_literal_format/double_literal_format_rule.dart b/lib/src/lints/double_literal_format/double_literal_format_rule.dart index 8a8f7d00..f10fcece 100644 --- a/lib/src/lints/double_literal_format/double_literal_format_rule.dart +++ b/lib/src/lints/double_literal_format/double_literal_format_rule.dart @@ -1,4 +1,4 @@ -import 'package:analyzer/error/error.dart' as error; +import 'package:analyzer/diagnostic/diagnostic.dart'; import 'package:analyzer/error/listener.dart'; import 'package:analyzer/source/source_range.dart'; import 'package:custom_lint_builder/custom_lint_builder.dart'; @@ -74,7 +74,7 @@ class DoubleLiteralFormatRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addDoubleLiteral((node) { diff --git a/lib/src/lints/double_literal_format/fixes/double_literal_format_fix.dart b/lib/src/lints/double_literal_format/fixes/double_literal_format_fix.dart index 6452df89..b3b5af12 100644 --- a/lib/src/lints/double_literal_format/fixes/double_literal_format_fix.dart +++ b/lib/src/lints/double_literal_format/fixes/double_literal_format_fix.dart @@ -8,8 +8,8 @@ class _DoubleLiteralFormatFix extends DartFix { CustomLintResolver resolver, ChangeReporter reporter, CustomLintContext context, - error.AnalysisError analysisError, - List others, + Diagnostic analysisError, + List others, ) { context.registry.addDoubleLiteral((node) { // checks that the literal declaration is where our warning is located diff --git a/lib/src/lints/function_lines_of_code/function_lines_of_code_rule.dart b/lib/src/lints/function_lines_of_code/function_lines_of_code_rule.dart index e77a3590..20c92655 100644 --- a/lib/src/lints/function_lines_of_code/function_lines_of_code_rule.dart +++ b/lib/src/lints/function_lines_of_code/function_lines_of_code_rule.dart @@ -45,7 +45,7 @@ class FunctionLinesOfCodeRule @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { void checkNode(AstNode node) => _checkNode(resolver, reporter, node); @@ -76,7 +76,7 @@ class FunctionLinesOfCodeRule void _checkNode( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, AstNode node, ) { final visitor = FunctionLinesOfCodeVisitor(resolver.lineInfo); @@ -93,7 +93,7 @@ class FunctionLinesOfCodeRule reporter.atOffset( offset: startOffset, length: node.length - lengthDifference, - errorCode: code, + diagnosticCode: code, ); } } diff --git a/lib/src/lints/member_ordering/member_ordering_rule.dart b/lib/src/lints/member_ordering/member_ordering_rule.dart index fe59b027..3f83f1c1 100644 --- a/lib/src/lints/member_ordering/member_ordering_rule.dart +++ b/lib/src/lints/member_ordering/member_ordering_rule.dart @@ -110,7 +110,7 @@ class MemberOrderingRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addClassDeclaration((node) { diff --git a/lib/src/lints/named_parameters_ordering/named_parameters_ordering_rule.dart b/lib/src/lints/named_parameters_ordering/named_parameters_ordering_rule.dart index 013c19cd..845a0c74 100644 --- a/lib/src/lints/named_parameters_ordering/named_parameters_ordering_rule.dart +++ b/lib/src/lints/named_parameters_ordering/named_parameters_ordering_rule.dart @@ -125,7 +125,7 @@ class NamedParametersOrderingRule @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addFormalParameterList((node) { diff --git a/lib/src/lints/newline_before_return/newline_before_return_rule.dart b/lib/src/lints/newline_before_return/newline_before_return_rule.dart index 1c0fd4fa..3624a7c6 100644 --- a/lib/src/lints/newline_before_return/newline_before_return_rule.dart +++ b/lib/src/lints/newline_before_return/newline_before_return_rule.dart @@ -94,7 +94,7 @@ class NewlineBeforeReturnRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addReturnStatement((node) { diff --git a/lib/src/lints/no_empty_block/no_empty_block_rule.dart b/lib/src/lints/no_empty_block/no_empty_block_rule.dart index 546e0eac..4b1dde40 100644 --- a/lib/src/lints/no_empty_block/no_empty_block_rule.dart +++ b/lib/src/lints/no_empty_block/no_empty_block_rule.dart @@ -65,7 +65,8 @@ class NoEmptyBlockRule extends SolidLintRule { name: lintName, paramsParser: NoEmptyBlockParameters.fromJson, problemMessage: (_) => - 'Block is empty. Empty blocks are often indicators of missing code.', + 'Block is empty. Empty blocks are often indicators ' + 'of missing code.', ); return NoEmptyBlockRule._(config); @@ -74,7 +75,7 @@ class NoEmptyBlockRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addDeclaration((node) { diff --git a/lib/src/lints/no_equal_then_else/no_equal_then_else_rule.dart b/lib/src/lints/no_equal_then_else/no_equal_then_else_rule.dart index f9eddd7f..eaf8e389 100644 --- a/lib/src/lints/no_equal_then_else/no_equal_then_else_rule.dart +++ b/lib/src/lints/no_equal_then_else/no_equal_then_else_rule.dart @@ -63,7 +63,7 @@ class NoEqualThenElseRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addCompilationUnit((node) { diff --git a/lib/src/lints/no_magic_number/no_magic_number_rule.dart b/lib/src/lints/no_magic_number/no_magic_number_rule.dart index 2eda1787..a1355219 100644 --- a/lib/src/lints/no_magic_number/no_magic_number_rule.dart +++ b/lib/src/lints/no_magic_number/no_magic_number_rule.dart @@ -157,7 +157,7 @@ class NoMagicNumberRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addCompilationUnit((node) { diff --git a/lib/src/lints/number_of_parameters/number_of_parameters_rule.dart b/lib/src/lints/number_of_parameters/number_of_parameters_rule.dart index f03a9c7a..c09b92e1 100644 --- a/lib/src/lints/number_of_parameters/number_of_parameters_rule.dart +++ b/lib/src/lints/number_of_parameters/number_of_parameters_rule.dart @@ -50,9 +50,8 @@ class NumberOfParametersRule configs: configs, name: lintName, paramsParser: NumberOfParametersParameters.fromJson, - problemMessage: (value) => - 'The maximum allowed number of parameters is ${value.maxParameters}. ' - 'Try reducing the number of parameters.', + problemMessage: (value) => 'The maximum allowed number of parameters is ' + '${value.maxParameters}. Try reducing the number of parameters.', ); return NumberOfParametersRule._(rule); @@ -61,7 +60,7 @@ class NumberOfParametersRule @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addDeclaration((node) { @@ -78,7 +77,7 @@ class NumberOfParametersRule reporter.atOffset( offset: node.firstTokenAfterCommentAndMetadata.offset, length: node.end, - errorCode: code, + diagnosticCode: code, ); } }); diff --git a/lib/src/lints/prefer_conditional_expressions/fixes/prefer_conditional_expressions_fix.dart b/lib/src/lints/prefer_conditional_expressions/fixes/prefer_conditional_expressions_fix.dart index 4666bed8..ab77da7a 100644 --- a/lib/src/lints/prefer_conditional_expressions/fixes/prefer_conditional_expressions_fix.dart +++ b/lib/src/lints/prefer_conditional_expressions/fixes/prefer_conditional_expressions_fix.dart @@ -1,6 +1,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/token.dart'; -import 'package:analyzer/error/error.dart'; +import 'package:analyzer/diagnostic/diagnostic.dart'; import 'package:analyzer/source/source_range.dart'; import 'package:custom_lint_builder/custom_lint_builder.dart'; import 'package:solid_lints/src/lints/prefer_conditional_expressions/visitors/prefer_conditional_expressions_visitor.dart'; @@ -13,8 +13,8 @@ class PreferConditionalExpressionsFix extends DartFix { CustomLintResolver resolver, ChangeReporter reporter, CustomLintContext context, - AnalysisError analysisError, - List others, + Diagnostic analysisError, + List others, ) { context.registry.addIfStatement((node) { if (analysisError.sourceRange.intersects(node.sourceRange)) { diff --git a/lib/src/lints/prefer_conditional_expressions/prefer_conditional_expressions_rule.dart b/lib/src/lints/prefer_conditional_expressions/prefer_conditional_expressions_rule.dart index 499d0e35..e94decfc 100644 --- a/lib/src/lints/prefer_conditional_expressions/prefer_conditional_expressions_rule.dart +++ b/lib/src/lints/prefer_conditional_expressions/prefer_conditional_expressions_rule.dart @@ -81,7 +81,7 @@ class PreferConditionalExpressionsRule @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addCompilationUnit((node) { diff --git a/lib/src/lints/prefer_early_return/prefer_early_return_rule.dart b/lib/src/lints/prefer_early_return/prefer_early_return_rule.dart index 2c43c2c2..e4b54b18 100644 --- a/lib/src/lints/prefer_early_return/prefer_early_return_rule.dart +++ b/lib/src/lints/prefer_early_return/prefer_early_return_rule.dart @@ -53,7 +53,7 @@ class PreferEarlyReturnRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addBlockFunctionBody((node) { diff --git a/lib/src/lints/prefer_first/fixes/prefer_first_fix.dart b/lib/src/lints/prefer_first/fixes/prefer_first_fix.dart index e52ba9ce..d677ffde 100644 --- a/lib/src/lints/prefer_first/fixes/prefer_first_fix.dart +++ b/lib/src/lints/prefer_first/fixes/prefer_first_fix.dart @@ -1,5 +1,5 @@ import 'package:analyzer/dart/ast/ast.dart'; -import 'package:analyzer/error/error.dart'; +import 'package:analyzer/diagnostic/diagnostic.dart'; import 'package:analyzer/source/source_range.dart'; import 'package:custom_lint_builder/custom_lint_builder.dart'; @@ -13,8 +13,8 @@ class PreferFirstFix extends DartFix { CustomLintResolver resolver, ChangeReporter reporter, CustomLintContext context, - AnalysisError analysisError, - List others, + Diagnostic analysisError, + List others, ) { context.registry.addMethodInvocation((node) { if (analysisError.sourceRange.intersects(node.sourceRange)) { diff --git a/lib/src/lints/prefer_first/prefer_first_rule.dart b/lib/src/lints/prefer_first/prefer_first_rule.dart index 1779780d..0af19607 100644 --- a/lib/src/lints/prefer_first/prefer_first_rule.dart +++ b/lib/src/lints/prefer_first/prefer_first_rule.dart @@ -49,7 +49,7 @@ class PreferFirstRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addCompilationUnit((node) { diff --git a/lib/src/lints/prefer_last/fixes/prefer_last_fix.dart b/lib/src/lints/prefer_last/fixes/prefer_last_fix.dart index 88f236e8..95148903 100644 --- a/lib/src/lints/prefer_last/fixes/prefer_last_fix.dart +++ b/lib/src/lints/prefer_last/fixes/prefer_last_fix.dart @@ -1,5 +1,5 @@ import 'package:analyzer/dart/ast/ast.dart'; -import 'package:analyzer/error/error.dart'; +import 'package:analyzer/diagnostic/diagnostic.dart'; import 'package:analyzer/source/source_range.dart'; import 'package:custom_lint_builder/custom_lint_builder.dart'; @@ -13,8 +13,8 @@ class PreferLastFix extends DartFix { CustomLintResolver resolver, ChangeReporter reporter, CustomLintContext context, - AnalysisError analysisError, - List others, + Diagnostic analysisError, + List others, ) { context.registry.addMethodInvocation((node) { if (analysisError.sourceRange.intersects(node.sourceRange)) { diff --git a/lib/src/lints/prefer_last/prefer_last_rule.dart b/lib/src/lints/prefer_last/prefer_last_rule.dart index b7c2beca..7dca9d21 100644 --- a/lib/src/lints/prefer_last/prefer_last_rule.dart +++ b/lib/src/lints/prefer_last/prefer_last_rule.dart @@ -49,7 +49,7 @@ class PreferLastRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addCompilationUnit((node) { diff --git a/lib/src/lints/prefer_match_file_name/prefer_match_file_name_rule.dart b/lib/src/lints/prefer_match_file_name/prefer_match_file_name_rule.dart index 66955581..e4c40762 100644 --- a/lib/src/lints/prefer_match_file_name/prefer_match_file_name_rule.dart +++ b/lib/src/lints/prefer_match_file_name/prefer_match_file_name_rule.dart @@ -75,7 +75,7 @@ class PreferMatchFileNameRule @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addCompilationUnit((node) { @@ -98,8 +98,9 @@ class PreferMatchFileNameRule return; } - final nodeType = - humanReadableNodeType(firstDeclaration.parent).toLowerCase(); + final nodeType = humanReadableNodeType( + firstDeclaration.parent, + ).toLowerCase(); reporter.atToken( firstDeclaration.token, diff --git a/lib/src/lints/proper_super_calls/proper_super_calls_rule.dart b/lib/src/lints/proper_super_calls/proper_super_calls_rule.dart index 0fa3b94d..446a6935 100644 --- a/lib/src/lints/proper_super_calls/proper_super_calls_rule.dart +++ b/lib/src/lints/proper_super_calls/proper_super_calls_rule.dart @@ -83,7 +83,7 @@ class ProperSuperCallsRule extends SolidLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addMethodDeclaration( @@ -112,10 +112,11 @@ class ProperSuperCallsRule extends SolidLintRule { MethodDeclaration node, String methodName, List statements, - ErrorReporter reporter, + DiagnosticReporter reporter, ) { - final hasOverrideAnnotation = - node.metadata.any((annotation) => annotation.name.name == _override); + final hasOverrideAnnotation = node.metadata.any( + (annotation) => annotation.name.name == _override, + ); if (!hasOverrideAnnotation) return; if (methodName == _initState && !_isSuperInitStateCalledFirst(statements)) { diff --git a/lib/src/models/rule_config.dart b/lib/src/models/rule_config.dart index c97fc10e..35c35b96 100644 --- a/lib/src/models/rule_config.dart +++ b/lib/src/models/rule_config.dart @@ -38,6 +38,6 @@ class RuleConfig { LintCode get lintCode => LintCode( name: name, problemMessage: _problemMessageFactory(parameters), - errorSeverity: error.ErrorSeverity.WARNING, + errorSeverity: error.DiagnosticSeverity.WARNING, ); } diff --git a/lib/src/utils/named_type_utils.dart b/lib/src/utils/named_type_utils.dart index 01f3f1a9..70c0c7e6 100644 --- a/lib/src/utils/named_type_utils.dart +++ b/lib/src/utils/named_type_utils.dart @@ -12,9 +12,11 @@ NamedType parseNamedTypeFromString(String typeString) { return namedTypeFinder.foundNamedType!; } catch (_) { - throw Exception("No NamedType could be parsed from the input " - "typeString: '$typeString'. Ensure it's a valid Dart " - "type declaration."); + throw Exception( + "No NamedType could be parsed from the input " + "typeString: '$typeString'. Ensure it's a valid Dart " + "type declaration.", + ); } } @@ -36,7 +38,7 @@ extension ChildNamedTypes on NamedType { typeArguments?.arguments.whereType().toList() ?? []; /// Gets the token name of this type instance. - String get tokenName => name2.toString(); + String get tokenName => name.toString(); /// Checks if the current token name is 'dynamic'. bool get isDynamic => tokenName == "dynamic"; diff --git a/lib/src/utils/parameter_utils.dart b/lib/src/utils/parameter_utils.dart index df045978..6e914ec6 100644 --- a/lib/src/utils/parameter_utils.dart +++ b/lib/src/utils/parameter_utils.dart @@ -12,12 +12,12 @@ bool nameConsistsOfUnderscoresOnly(FormalParameter parameter) { } /// Decodes the severity parameter from the string -error.ErrorSeverity? decodeErrorSeverity(String? severity) { +error.DiagnosticSeverity? decodeErrorSeverity(String? severity) { return switch (severity?.toLowerCase()) { - 'info' => error.ErrorSeverity.INFO, - 'warning' => error.ErrorSeverity.WARNING, - 'error' => error.ErrorSeverity.ERROR, - 'none' => error.ErrorSeverity.NONE, + 'info' => error.DiagnosticSeverity.INFO, + 'warning' => error.DiagnosticSeverity.WARNING, + 'error' => error.DiagnosticSeverity.ERROR, + 'none' => error.DiagnosticSeverity.NONE, _ => null, }; } @@ -31,7 +31,7 @@ extension LintCodeCopyWith on LintCode { String? correctionMessage, String? uniqueName, String? url, - error.ErrorSeverity? errorSeverity, + error.DiagnosticSeverity? errorSeverity, }) => LintCode( name: name ?? this.name, diff --git a/lib/src/utils/typecast_utils.dart b/lib/src/utils/typecast_utils.dart index d8ab24fe..d8b6c011 100644 --- a/lib/src/utils/typecast_utils.dart +++ b/lib/src/utils/typecast_utils.dart @@ -36,13 +36,13 @@ class TypeCast { return false; } - if (source.element3 == target.element3) { + if (source.element == target.element) { return _areGenericsWithSameTypeArgs; } if (source is InterfaceType) { return source.allSupertypes.any( - (e) => e.element3 == target.element3, + (e) => e.element == target.element, ); } @@ -66,7 +66,11 @@ class TypeCast { return false; } - if (this case TypeCast(source: final objectType, target: final castedType) + if (this + case TypeCast( + source: final objectType, + target: final castedType, + ) when objectType is ParameterizedType && castedType is ParameterizedType) { if (objectType.typeArguments.length != castedType.typeArguments.length) { diff --git a/lib/src/utils/types_utils.dart b/lib/src/utils/types_utils.dart index 5d89d8bb..62e98b79 100644 --- a/lib/src/utils/types_utils.dart +++ b/lib/src/utils/types_utils.dart @@ -23,7 +23,7 @@ // ignore_for_file: public_member_api_docs import 'package:analyzer/dart/ast/ast.dart'; -import 'package:analyzer/dart/element/element2.dart'; +import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/dart/element/nullability_suffix.dart'; import 'package:analyzer/dart/element/type.dart'; import 'package:collection/collection.dart'; @@ -31,8 +31,11 @@ import 'package:solid_lints/src/utils/named_type_utils.dart'; extension Subtypes on DartType { Iterable get supertypes { - final element = element3; - return element is InterfaceElement2 ? element.allSupertypes : []; + final element = this.element; + + if (element is! InterfaceElement) return []; + + return element.allSupertypes; } /// Formats the type string based on nullability and presence of generics. diff --git a/pubspec.yaml b/pubspec.yaml index 99e81693..c696e199 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -8,12 +8,12 @@ documentation: https://solid-software.github.io/solid_lints/docs/intro topics: [lints, linter, lint, analysis, analyzer] environment: - sdk: ">=3.5.0 <4.0.0" + sdk: ">=3.8.0 <4.0.0" dependencies: - analyzer: ^7.1.0 + analyzer: ^8.1.1 collection: ^1.19.0 - custom_lint_builder: ^0.7.1 + custom_lint_builder: ^0.8.1 glob: ^2.1.3 path: ^1.9.1 yaml: ^3.1.3 From 44c80e9307830ec2f53688e75a0ca79be22537a2 Mon Sep 17 00:00:00 2001 From: xJac0b Date: Sun, 28 Sep 2025 13:28:57 +0200 Subject: [PATCH 2/3] Fix formatting --- .../excluded_identifiers_list_parameter.dart | 4 +-- .../avoid_debug_print_in_release_rule.dart | 9 +++--- .../avoid_final_with_getter_visitor.dart | 19 ++++++------ .../visitors/getter_variable_visitor.dart | 2 +- .../avoid_late_keyword_rule.dart | 3 +- .../models/avoid_late_keyword_parameters.dart | 5 ++-- .../avoid_non_null_assertion_rule.dart | 6 ++-- .../avoid_returning_widgets_rule.dart | 14 ++++----- .../avoid_unnecessary_set_state_rule.dart | 3 +- .../avoid_unnecessary_set_state_visitor.dart | 11 ++++--- ...oid_unrelated_type_assertions_visitor.dart | 4 +-- .../avoid_unused_parameters_visitor.dart | 4 ++- .../avoid_using_api_linter.dart | 24 +++++++-------- .../avoid_using_api/avoid_using_api_rule.dart | 27 +++++++++-------- .../avoid_using_api_entry_parameters.dart | 29 +++++++++---------- .../models/avoid_using_api_parameters.dart | 23 +++++++-------- .../member_ordering/models/annotation.dart | 10 +++---- .../member_ordering/models/field_keyword.dart | 6 ++-- .../member_group/field_member_group.dart | 7 +++-- .../member_group/method_member_group.dart | 19 ++++++------ .../member_ordering/models/member_type.dart | 5 ++-- .../member_ordering/models/modifier.dart | 6 ++-- .../visitors/member_ordering_visitor.dart | 25 +++++++++------- .../named_parameters_ordering_parameters.dart | 11 ++++--- .../named_parameters_ordering_rule.dart | 3 +- .../named_parameters_ordering_visitor.dart | 9 +++--- .../newline_before_return_visitor.dart | 10 ++++--- .../visitors/no_empty_block_visitor.dart | 2 +- .../no_magic_number/no_magic_number_rule.dart | 3 +- .../number_of_parameters_rule.dart | 3 +- ...er_conditional_expressions_parameters.dart | 7 ++--- .../visitors/prefer_early_return_visitor.dart | 12 ++++---- .../prefer_match_file_name_visitor.dart | 15 +++++----- .../proper_super_calls_rule.dart | 6 ++-- lib/src/models/rule_config.dart | 14 ++++----- lib/src/utils/docs_parser/main.dart | 5 ++-- .../docusaurus_formatter.dart | 11 +++---- .../parsers/parameters_parser.dart | 3 +- .../docs_parser/parsers/rule_parser.dart | 13 +++++---- lib/src/utils/node_utils.dart | 5 ++-- lib/src/utils/parameter_utils.dart | 17 +++++------ lib/src/utils/path_utils.dart | 13 +++++---- lib/src/utils/typecast_utils.dart | 11 +++---- tool/generate_web_docs_content.dart | 6 ++-- 44 files changed, 233 insertions(+), 211 deletions(-) diff --git a/lib/src/common/parameters/excluded_identifiers_list_parameter.dart b/lib/src/common/parameters/excluded_identifiers_list_parameter.dart index 8a4b1097..c31a92ac 100644 --- a/lib/src/common/parameters/excluded_identifiers_list_parameter.dart +++ b/lib/src/common/parameters/excluded_identifiers_list_parameter.dart @@ -45,8 +45,8 @@ class ExcludedIdentifiersListParameter { ) { final excludeList = json[ExcludedIdentifiersListParameter.excludeParameterName] - as Iterable? ?? - []; + as Iterable? ?? + []; return ExcludedIdentifiersListParameter.fromJson( excludeList: excludeList, diff --git a/lib/src/lints/avoid_debug_print_in_release/avoid_debug_print_in_release_rule.dart b/lib/src/lints/avoid_debug_print_in_release/avoid_debug_print_in_release_rule.dart index e9b52edb..b4b80a8a 100644 --- a/lib/src/lints/avoid_debug_print_in_release/avoid_debug_print_in_release_rule.dart +++ b/lib/src/lints/avoid_debug_print_in_release/avoid_debug_print_in_release_rule.dart @@ -172,11 +172,10 @@ your `debugPrint` call in a `!kReleaseMode` check.""", } bool _isNotReleaseCheck(Expression node) { - if (node.childEntities.toList() - case [ - final Token token, - final Identifier identifier, - ]) { + if (node.childEntities.toList() case [ + final Token token, + final Identifier identifier, + ]) { return token.type == TokenType.BANG && _isReleaseModeIdentifier(identifier); } diff --git a/lib/src/lints/avoid_final_with_getter/visitors/avoid_final_with_getter_visitor.dart b/lib/src/lints/avoid_final_with_getter/visitors/avoid_final_with_getter_visitor.dart index 3a32faa6..bfbf95c8 100644 --- a/lib/src/lints/avoid_final_with_getter/visitors/avoid_final_with_getter_visitor.dart +++ b/lib/src/lints/avoid_final_with_getter/visitors/avoid_final_with_getter_visitor.dart @@ -13,16 +13,15 @@ class AvoidFinalWithGetterVisitor extends RecursiveAstVisitor { @override void visitMethodDeclaration(MethodDeclaration node) { - if (node - case MethodDeclaration( - isGetter: true, - declaredFragment: ExecutableFragment( - element: ExecutableElement( - isAbstract: false, - isPublic: true, - ), - ), - )) { + if (node case MethodDeclaration( + isGetter: true, + declaredFragment: ExecutableFragment( + element: ExecutableElement( + isAbstract: false, + isPublic: true, + ), + ), + )) { final visitor = GetterVariableVisitor(node); node.parent?.accept(visitor); diff --git a/lib/src/lints/avoid_final_with_getter/visitors/getter_variable_visitor.dart b/lib/src/lints/avoid_final_with_getter/visitors/getter_variable_visitor.dart index ea078e5f..92bf86ad 100644 --- a/lib/src/lints/avoid_final_with_getter/visitors/getter_variable_visitor.dart +++ b/lib/src/lints/avoid_final_with_getter/visitors/getter_variable_visitor.dart @@ -10,7 +10,7 @@ class GetterVariableVisitor extends RecursiveAstVisitor { /// Creates a new instance of [GetterVariableVisitor] GetterVariableVisitor(MethodDeclaration getter) - : _getterId = getter.getterReferenceId; + : _getterId = getter.getterReferenceId; /// Is there a variable associated with the getter VariableDeclaration? get variable => _variable; diff --git a/lib/src/lints/avoid_late_keyword/avoid_late_keyword_rule.dart b/lib/src/lints/avoid_late_keyword/avoid_late_keyword_rule.dart index 5110bbf7..054cdaf4 100644 --- a/lib/src/lints/avoid_late_keyword/avoid_late_keyword_rule.dart +++ b/lib/src/lints/avoid_late_keyword/avoid_late_keyword_rule.dart @@ -61,7 +61,8 @@ class AvoidLateKeywordRule extends SolidLintRule { configs: configs, name: lintName, paramsParser: AvoidLateKeywordParameters.fromJson, - problemMessage: (_) => 'Avoid using the "late" keyword. ' + problemMessage: (_) => + 'Avoid using the "late" keyword. ' 'It may result in runtime exceptions.', ); diff --git a/lib/src/lints/avoid_late_keyword/models/avoid_late_keyword_parameters.dart b/lib/src/lints/avoid_late_keyword/models/avoid_late_keyword_parameters.dart index 9623cc4a..4895b258 100644 --- a/lib/src/lints/avoid_late_keyword/models/avoid_late_keyword_parameters.dart +++ b/lib/src/lints/avoid_late_keyword/models/avoid_late_keyword_parameters.dart @@ -37,7 +37,8 @@ class AvoidLateKeywordParameters { factory AvoidLateKeywordParameters.fromJson(Map json) => AvoidLateKeywordParameters( allowInitialized: json['allow_initialized'] as bool? ?? false, - ignoredTypes: - List.from(json['ignored_types'] as Iterable? ?? []), + ignoredTypes: List.from( + json['ignored_types'] as Iterable? ?? [], + ), ); } diff --git a/lib/src/lints/avoid_non_null_assertion/avoid_non_null_assertion_rule.dart b/lib/src/lints/avoid_non_null_assertion/avoid_non_null_assertion_rule.dart index 2b27901d..1c883b46 100644 --- a/lib/src/lints/avoid_non_null_assertion/avoid_non_null_assertion_rule.dart +++ b/lib/src/lints/avoid_non_null_assertion/avoid_non_null_assertion_rule.dart @@ -50,7 +50,8 @@ class AvoidNonNullAssertionRule extends SolidLintRule { final rule = RuleConfig( configs: configs, name: lintName, - problemMessage: (_) => 'Avoid using the bang operator. ' + problemMessage: (_) => + 'Avoid using the bang operator. ' 'It may result in runtime exceptions.', ); @@ -77,7 +78,8 @@ class AvoidNonNullAssertionRule extends SolidLintRule { if (operand is IndexExpression) { final type = operand.target?.staticType; final isInterface = type is InterfaceType; - final isMap = isInterface && + final isMap = + isInterface && (type.isDartCoreMap || type.allSupertypes.any((v) => v.isDartCoreMap)); diff --git a/lib/src/lints/avoid_returning_widgets/avoid_returning_widgets_rule.dart b/lib/src/lints/avoid_returning_widgets/avoid_returning_widgets_rule.dart index 00650620..e8124679 100644 --- a/lib/src/lints/avoid_returning_widgets/avoid_returning_widgets_rule.dart +++ b/lib/src/lints/avoid_returning_widgets/avoid_returning_widgets_rule.dart @@ -65,7 +65,8 @@ class AvoidReturningWidgetsRule configs: configs, name: lintName, paramsParser: AvoidReturningWidgetsParameters.fromJson, - problemMessage: (_) => 'Returning a widget from a function is considered ' + problemMessage: (_) => + 'Returning a widget from a function is considered ' 'an anti-pattern. Unless you are overriding an existing method, ' 'consider extracting your widget to a separate class.', ); @@ -84,8 +85,7 @@ class AvoidReturningWidgetsRule // simultaneously checks if return type is [DartType] final DartType? returnType = switch (node) { FunctionDeclaration(returnType: TypeAnnotation(:final type?)) || - MethodDeclaration(returnType: TypeAnnotation(:final type?)) => - type, + MethodDeclaration(returnType: TypeAnnotation(:final type?)) => type, _ => null, }; @@ -101,11 +101,11 @@ class AvoidReturningWidgetsRule FunctionDeclaration(:final functionExpression) => functionExpression.parent is MethodDeclaration && (functionExpression.parent! as MethodDeclaration).metadata.any( - (m) => m.name.name == _override, - ), + (m) => m.name.name == _override, + ), MethodDeclaration(:final metadata) => metadata.any( - (m) => m.name.name == _override, - ), + (m) => m.name.name == _override, + ), _ => false, }; diff --git a/lib/src/lints/avoid_unnecessary_setstate/avoid_unnecessary_set_state_rule.dart b/lib/src/lints/avoid_unnecessary_setstate/avoid_unnecessary_set_state_rule.dart index 0773e580..a78cd6b0 100644 --- a/lib/src/lints/avoid_unnecessary_setstate/avoid_unnecessary_set_state_rule.dart +++ b/lib/src/lints/avoid_unnecessary_setstate/avoid_unnecessary_set_state_rule.dart @@ -68,7 +68,8 @@ class AvoidUnnecessarySetStateRule extends SolidLintRule { final rule = RuleConfig( name: lintName, configs: configs, - problemMessage: (_) => 'Avoid calling unnecessary setState. ' + problemMessage: (_) => + 'Avoid calling unnecessary setState. ' 'Consider changing the state directly.', ); return AvoidUnnecessarySetStateRule._(rule); diff --git a/lib/src/lints/avoid_unnecessary_setstate/visitors/avoid_unnecessary_set_state_visitor.dart b/lib/src/lints/avoid_unnecessary_setstate/visitors/avoid_unnecessary_set_state_visitor.dart index 5679d5e8..b898c361 100644 --- a/lib/src/lints/avoid_unnecessary_setstate/visitors/avoid_unnecessary_set_state_visitor.dart +++ b/lib/src/lints/avoid_unnecessary_setstate/visitors/avoid_unnecessary_set_state_visitor.dart @@ -51,8 +51,9 @@ class AvoidUnnecessarySetStateVisitor extends RecursiveAstVisitor { } final methods = node.members.whereType(); - final classMethodsNames = - methods.map((declaration) => declaration.name.lexeme).toSet(); + final classMethodsNames = methods + .map((declaration) => declaration.name.lexeme) + .toSet(); final methodBodies = methods.map((declaration) => declaration.body).toSet(); final checkedMethods = methods.where(_isMethodChecked); @@ -105,8 +106,10 @@ class AvoidUnnecessarySetStateVisitor extends RecursiveAstVisitor { return true; } - final visitor = - AvoidUnnecessarySetStateMethodVisitor(classMethodsNames, bodies); + final visitor = AvoidUnnecessarySetStateMethodVisitor( + classMethodsNames, + bodies, + ); declaration.visitChildren(visitor); final hasSetState = visitor.setStateInvocations.isNotEmpty; diff --git a/lib/src/lints/avoid_unrelated_type_assertions/visitors/avoid_unrelated_type_assertions_visitor.dart b/lib/src/lints/avoid_unrelated_type_assertions/visitors/avoid_unrelated_type_assertions_visitor.dart index dbcbf543..00ddc8b7 100644 --- a/lib/src/lints/avoid_unrelated_type_assertions/visitors/avoid_unrelated_type_assertions_visitor.dart +++ b/lib/src/lints/avoid_unrelated_type_assertions/visitors/avoid_unrelated_type_assertions_visitor.dart @@ -98,8 +98,8 @@ class AvoidUnrelatedTypeAssertionsVisitor extends RecursiveAstVisitor { final correctObjectType = objectType is InterfaceType && objectType.isDartAsyncFutureOr - ? objectType.typeArguments.first - : objectType; + ? objectType.typeArguments.first + : objectType; if ((correctObjectType.element == castedType.element) || castedType is DynamicType || diff --git a/lib/src/lints/avoid_unused_parameters/visitors/avoid_unused_parameters_visitor.dart b/lib/src/lints/avoid_unused_parameters/visitors/avoid_unused_parameters_visitor.dart index a3bc2f6e..a5081b8c 100644 --- a/lib/src/lints/avoid_unused_parameters/visitors/avoid_unused_parameters_visitor.dart +++ b/lib/src/lints/avoid_unused_parameters/visitors/avoid_unused_parameters_visitor.dart @@ -109,7 +109,9 @@ class AvoidUnusedParametersVisitor extends RecursiveAstVisitor { body, parameters, ); - return unused.whereNot(nameConsistsOfUnderscoresOnly).where( + return unused + .whereNot(nameConsistsOfUnderscoresOnly) + .where( (param) => !param.isNamed, ); } diff --git a/lib/src/lints/avoid_using_api/avoid_using_api_linter.dart b/lib/src/lints/avoid_using_api/avoid_using_api_linter.dart index 7e2b86f0..1a13da98 100644 --- a/lib/src/lints/avoid_using_api/avoid_using_api_linter.dart +++ b/lib/src/lints/avoid_using_api/avoid_using_api_linter.dart @@ -99,8 +99,8 @@ class AvoidUsingApiLinter { switch (node.element) { case LocalFunctionElement() || - TopLevelFunctionElement() || - PropertyAccessorElement(): + TopLevelFunctionElement() || + PropertyAccessorElement(): reporter.atNode(node, entryCode); } }); @@ -118,8 +118,8 @@ class AvoidUsingApiLinter { return; } - final sourcePath = - node.declaredElement?.type.element?.library?.uri.toString(); + final sourcePath = node.declaredElement?.type.element?.library?.uri + .toString(); if (sourcePath == null || !_matchesSource(sourcePath, source)) { return; } @@ -301,8 +301,8 @@ class AvoidUsingApiLinter { return; } - final sourcePath = - node.constructorName.type.element?.library?.uri.toString(); + final sourcePath = node.constructorName.type.element?.library?.uri + .toString(); if (sourcePath == null || !_matchesSource(sourcePath, source)) { return; } @@ -365,8 +365,8 @@ class AvoidUsingApiLinter { return; } - final sourcePath = - node.constructorName.type.element?.library?.uri.toString(); + final sourcePath = node.constructorName.type.element?.library?.uri + .toString(); if (sourcePath == null || !_matchesSource(sourcePath, source)) { return; } @@ -378,9 +378,7 @@ class AvoidUsingApiLinter { bool _containsNamedParameter( ArgumentList argumentList, String namedParameter, - ) => - argumentList.arguments.any( - (arg) => - arg is NamedExpression && arg.name.label.name == namedParameter, - ); + ) => argumentList.arguments.any( + (arg) => arg is NamedExpression && arg.name.label.name == namedParameter, + ); } diff --git a/lib/src/lints/avoid_using_api/avoid_using_api_rule.dart b/lib/src/lints/avoid_using_api/avoid_using_api_rule.dart index e774199b..eaee2180 100644 --- a/lib/src/lints/avoid_using_api/avoid_using_api_rule.dart +++ b/lib/src/lints/avoid_using_api/avoid_using_api_rule.dart @@ -117,21 +117,20 @@ class AvoidUsingApiRule extends SolidLintRule { } final entryCode = super.code.copyWith( - errorSeverity: entry.severity ?? - parameters.severity ?? - super.code.errorSeverity, - problemMessage: entry.reason, - ); + errorSeverity: + entry.severity ?? parameters.severity ?? super.code.errorSeverity, + problemMessage: entry.reason, + ); switch (entry) { case AvoidUsingApiEntryParameters(:final source) when source == null: break; case AvoidUsingApiEntryParameters( - :final identifier?, - :final namedParameter?, - :final className?, - :final source?, - ): + :final identifier?, + :final namedParameter?, + :final className?, + :final source?, + ): linter.banUsageWithSpecificNamedParameter( entryCode, identifier, @@ -140,10 +139,10 @@ class AvoidUsingApiRule extends SolidLintRule { source, ); case AvoidUsingApiEntryParameters( - :final identifier?, - :final className?, - :final source?, - ): + :final identifier?, + :final className?, + :final source?, + ): linter.banIdFromClassFromSource( entryCode, identifier, diff --git a/lib/src/lints/avoid_using_api/models/avoid_using_api_entry_parameters.dart b/lib/src/lints/avoid_using_api/models/avoid_using_api_entry_parameters.dart index 145116da..f4b230fb 100644 --- a/lib/src/lints/avoid_using_api/models/avoid_using_api_entry_parameters.dart +++ b/lib/src/lints/avoid_using_api/models/avoid_using_api_entry_parameters.dart @@ -72,19 +72,18 @@ class AvoidUsingApiEntryParameters { /// Method for creating from json data factory AvoidUsingApiEntryParameters.fromJson( Map json, - ) => - AvoidUsingApiEntryParameters( - identifier: json['identifier'] as String?, - namedParameter: json['named_parameter'] as String?, - className: json['class_name'] as String?, - source: json['source'] as String?, - severity: decodeErrorSeverity(json['severity'] as String?), - reason: json['reason'] as String?, - includes: (json['includes'] as List? ?? []) - .whereType() - .toList(), - excludes: (json['excludes'] as List? ?? []) - .whereType() - .toList(), - ); + ) => AvoidUsingApiEntryParameters( + identifier: json['identifier'] as String?, + namedParameter: json['named_parameter'] as String?, + className: json['class_name'] as String?, + source: json['source'] as String?, + severity: decodeErrorSeverity(json['severity'] as String?), + reason: json['reason'] as String?, + includes: (json['includes'] as List? ?? []) + .whereType() + .toList(), + excludes: (json['excludes'] as List? ?? []) + .whereType() + .toList(), + ); } diff --git a/lib/src/lints/avoid_using_api/models/avoid_using_api_parameters.dart b/lib/src/lints/avoid_using_api/models/avoid_using_api_parameters.dart index b7e603a3..77908ae2 100644 --- a/lib/src/lints/avoid_using_api/models/avoid_using_api_parameters.dart +++ b/lib/src/lints/avoid_using_api/models/avoid_using_api_parameters.dart @@ -40,16 +40,15 @@ class AvoidUsingApiParameters { /// Method for creating from json data factory AvoidUsingApiParameters.fromJson( Map json, - ) => - AvoidUsingApiParameters( - entries: List.from( - (json['entries'] as Iterable?)?.map( - (e) => AvoidUsingApiEntryParameters.fromJson( - (e as YamlMap).toMap(), - ), - ) ?? - [], - ), - severity: decodeErrorSeverity(json['severity'] as String?), - ); + ) => AvoidUsingApiParameters( + entries: List.from( + (json['entries'] as Iterable?)?.map( + (e) => AvoidUsingApiEntryParameters.fromJson( + (e as YamlMap).toMap(), + ), + ) ?? + [], + ), + severity: decodeErrorSeverity(json['severity'] as String?), + ); } diff --git a/lib/src/lints/member_ordering/models/annotation.dart b/lib/src/lints/member_ordering/models/annotation.dart index 1e16249c..31512a72 100644 --- a/lib/src/lints/member_ordering/models/annotation.dart +++ b/lib/src/lints/member_ordering/models/annotation.dart @@ -43,9 +43,9 @@ enum Annotation { /// Parses a String name and returns instance of [Annotation] static Annotation parse(String? name) => values.firstWhere( - (annotation) => - annotation.name == name || - (annotation.publicName != null && annotation.publicName == name), - orElse: () => Annotation.unset, - ); + (annotation) => + annotation.name == name || + (annotation.publicName != null && annotation.publicName == name), + orElse: () => Annotation.unset, + ); } diff --git a/lib/src/lints/member_ordering/models/field_keyword.dart b/lib/src/lints/member_ordering/models/field_keyword.dart index d2716ca2..d4a40776 100644 --- a/lib/src/lints/member_ordering/models/field_keyword.dart +++ b/lib/src/lints/member_ordering/models/field_keyword.dart @@ -43,7 +43,7 @@ enum FieldKeyword { /// Parses a String field type and returns instance of [FieldKeyword] static FieldKeyword parse(String? name) => values.firstWhere( - (type) => type.type == name, - orElse: () => FieldKeyword.unset, - ); + (type) => type.type == name, + orElse: () => FieldKeyword.unset, + ); } diff --git a/lib/src/lints/member_ordering/models/member_group/field_member_group.dart b/lib/src/lints/member_ordering/models/member_group/field_member_group.dart index f5431eb9..93818eff 100644 --- a/lib/src/lints/member_ordering/models/member_group/field_member_group.dart +++ b/lib/src/lints/member_ordering/models/member_group/field_member_group.dart @@ -62,7 +62,8 @@ class FieldMemberGroup extends MemberGroup { final modifier = parseModifier( declaration.fields.variables.first.name.lexeme, ); - final isNullable = declaration.fields.type?.type?.nullabilitySuffix == + final isNullable = + declaration.fields.type?.type?.nullabilitySuffix == NullabilitySuffix.question; final keyword = _FieldMemberGroupUtils.parseKeyWord(declaration); @@ -101,7 +102,7 @@ class _FieldMemberGroupUtils { return declaration.fields.isConst ? FieldKeyword.isConst : declaration.fields.isFinal - ? FieldKeyword.isFinal - : FieldKeyword.unset; + ? FieldKeyword.isFinal + : FieldKeyword.unset; } } diff --git a/lib/src/lints/member_ordering/models/member_group/method_member_group.dart b/lib/src/lints/member_ordering/models/member_group/method_member_group.dart index 467afb22..f7b1d78f 100644 --- a/lib/src/lints/member_ordering/models/member_group/method_member_group.dart +++ b/lib/src/lints/member_ordering/models/member_group/method_member_group.dart @@ -55,16 +55,15 @@ class MethodMemberGroup extends MemberGroup { required String name, required MemberType memberType, required String rawRepresentation, - }) => - MethodMemberGroup( - name: name, - isNullable: false, - isStatic: false, - modifier: Modifier.unset, - annotation: Annotation.unset, - memberType: memberType, - rawRepresentation: rawRepresentation, - ); + }) => MethodMemberGroup( + name: name, + isNullable: false, + isStatic: false, + modifier: Modifier.unset, + annotation: Annotation.unset, + memberType: memberType, + rawRepresentation: rawRepresentation, + ); /// Parses [MethodDeclaration] and returns instance of [MethodMemberGroup] factory MethodMemberGroup.parse(MethodDeclaration declaration) { diff --git a/lib/src/lints/member_ordering/models/member_type.dart b/lib/src/lints/member_ordering/models/member_type.dart index f7d01737..dc46fbe0 100644 --- a/lib/src/lints/member_ordering/models/member_type.dart +++ b/lib/src/lints/member_ordering/models/member_type.dart @@ -52,6 +52,7 @@ enum MemberType { const MemberType(this.type, {this.typeAlias}); /// Parses a String member type and returns instance of [MemberType] - static MemberType? parse(String? name) => values - .firstWhereOrNull((type) => name == type.type || name == type.typeAlias); + static MemberType? parse(String? name) => values.firstWhereOrNull( + (type) => name == type.type || name == type.typeAlias, + ); } diff --git a/lib/src/lints/member_ordering/models/modifier.dart b/lib/src/lints/member_ordering/models/modifier.dart index b47b7f89..7656c76d 100644 --- a/lib/src/lints/member_ordering/models/modifier.dart +++ b/lib/src/lints/member_ordering/models/modifier.dart @@ -39,6 +39,8 @@ enum Modifier { const Modifier(this.type); /// Parses a String access modifier and returns instance of [Modifier] - static Modifier parse(String? name) => values - .firstWhere((type) => type.type == name, orElse: () => Modifier.unset); + static Modifier parse(String? name) => values.firstWhere( + (type) => type.type == name, + orElse: () => Modifier.unset, + ); } diff --git a/lib/src/lints/member_ordering/visitors/member_ordering_visitor.dart b/lib/src/lints/member_ordering/visitors/member_ordering_visitor.dart index 6b2035d0..15f48074 100644 --- a/lib/src/lints/member_ordering/visitors/member_ordering_visitor.dart +++ b/lib/src/lints/member_ordering/visitors/member_ordering_visitor.dart @@ -187,8 +187,8 @@ class MemberOrderingVisitor extends RecursiveAstVisitor> { final previousMemberGroup = hasSameGroup && lastMemberOrder.previousMemberGroup != null - ? lastMemberOrder.previousMemberGroup - : lastMemberOrder.memberGroup; + ? lastMemberOrder.previousMemberGroup + : lastMemberOrder.memberGroup; final memberNames = MemberNames( currentName: memberName, @@ -199,16 +199,19 @@ class MemberOrderingVisitor extends RecursiveAstVisitor> { return MemberOrder( memberNames: memberNames, - isAlphabeticallyWrong: hasSameGroup && + isAlphabeticallyWrong: + hasSameGroup && memberNames.currentName.compareTo(memberNames.previousName!) < 0, - isByTypeWrong: hasSameGroup && - memberNames.currentTypeName - .toLowerCase() - .compareTo(memberNames.previousTypeName!.toLowerCase()) < + isByTypeWrong: + hasSameGroup && + memberNames.currentTypeName.toLowerCase().compareTo( + memberNames.previousTypeName!.toLowerCase(), + ) < 0, memberGroup: memberGroup, previousMemberGroup: previousMemberGroup, - isWrong: (hasSameGroup && lastMemberOrder.isWrong) || + isWrong: + (hasSameGroup && lastMemberOrder.isWrong) || _isCurrentGroupBefore( lastMemberOrder.memberGroup, memberGroup, @@ -218,8 +221,10 @@ class MemberOrderingVisitor extends RecursiveAstVisitor> { } return MemberOrder( - memberNames: - MemberNames(currentName: memberName, currentTypeName: typeName), + memberNames: MemberNames( + currentName: memberName, + currentTypeName: typeName, + ), isAlphabeticallyWrong: false, isByTypeWrong: false, memberGroup: memberGroup, diff --git a/lib/src/lints/named_parameters_ordering/models/named_parameters_ordering_parameters.dart b/lib/src/lints/named_parameters_ordering/models/named_parameters_ordering_parameters.dart index 7ff0009f..cb16d227 100644 --- a/lib/src/lints/named_parameters_ordering/models/named_parameters_ordering_parameters.dart +++ b/lib/src/lints/named_parameters_ordering/models/named_parameters_ordering_parameters.dart @@ -39,10 +39,9 @@ class NamedParametersOrderingParameters { /// Method for creating from json data factory NamedParametersOrderingParameters.fromJson( Map json, - ) => - NamedParametersOrderingParameters( - order: NamedParametersConfigParser.parseOrder( - json[_orderConfig], - ), - ); + ) => NamedParametersOrderingParameters( + order: NamedParametersConfigParser.parseOrder( + json[_orderConfig], + ), + ); } diff --git a/lib/src/lints/named_parameters_ordering/named_parameters_ordering_rule.dart b/lib/src/lints/named_parameters_ordering/named_parameters_ordering_rule.dart index 845a0c74..63202cb3 100644 --- a/lib/src/lints/named_parameters_ordering/named_parameters_ordering_rule.dart +++ b/lib/src/lints/named_parameters_ordering/named_parameters_ordering_rule.dart @@ -150,7 +150,8 @@ class NamedParametersOrderingRule return LintCode( name: lintName, - problemMessage: "${parameterOrdering.displayName} named parameters" + problemMessage: + "${parameterOrdering.displayName} named parameters" " should be before " "${previousParameterOrdering!.displayName} named parameters.", ); diff --git a/lib/src/lints/named_parameters_ordering/visitors/named_parameters_ordering_visitor.dart b/lib/src/lints/named_parameters_ordering/visitors/named_parameters_ordering_visitor.dart index 4ec4598c..e0a0c89e 100644 --- a/lib/src/lints/named_parameters_ordering/visitors/named_parameters_ordering_visitor.dart +++ b/lib/src/lints/named_parameters_ordering/visitors/named_parameters_ordering_visitor.dart @@ -45,8 +45,9 @@ class NamedParametersOrderingVisitor _parametersInfo.clear(); - final namedParametersList = - node.parameters.where((p) => p.isNamed).toList(); + final namedParametersList = node.parameters + .where((p) => p.isNamed) + .toList(); if (namedParametersList.isEmpty) { return _parametersInfo; @@ -99,8 +100,8 @@ class NamedParametersOrderingVisitor return ParameterType.defaultValue; case FieldFormalParameter(:final isRequired) || - FunctionTypedFormalParameter(:final isRequired) || - SimpleFormalParameter(:final isRequired): + FunctionTypedFormalParameter(:final isRequired) || + SimpleFormalParameter(:final isRequired): return isRequired ? ParameterType.required : ParameterType.nullable; } } diff --git a/lib/src/lints/newline_before_return/visitors/newline_before_return_visitor.dart b/lib/src/lints/newline_before_return/visitors/newline_before_return_visitor.dart index cad8b50a..febdad5c 100644 --- a/lib/src/lints/newline_before_return/visitors/newline_before_return_visitor.dart +++ b/lib/src/lints/newline_before_return/visitors/newline_before_return_visitor.dart @@ -57,12 +57,14 @@ class NewLineBeforeReturnVisitor extends RecursiveAstVisitor { ReturnStatement node, LineInfo lineInfo, ) { - final previousTokenLineNumber = - lineInfo.getLocation(node.returnKeyword.previous!.end).lineNumber; + final previousTokenLineNumber = lineInfo + .getLocation(node.returnKeyword.previous!.end) + .lineNumber; final lastNotEmptyLineToken = _optimalToken(node.returnKeyword, lineInfo); - final tokenLineNumber = - lineInfo.getLocation(lastNotEmptyLineToken.offset).lineNumber; + final tokenLineNumber = lineInfo + .getLocation(lastNotEmptyLineToken.offset) + .lineNumber; return tokenLineNumber > previousTokenLineNumber + 1; } diff --git a/lib/src/lints/no_empty_block/visitors/no_empty_block_visitor.dart b/lib/src/lints/no_empty_block/visitors/no_empty_block_visitor.dart index 3f1e50d3..2f9204cb 100644 --- a/lib/src/lints/no_empty_block/visitors/no_empty_block_visitor.dart +++ b/lib/src/lints/no_empty_block/visitors/no_empty_block_visitor.dart @@ -37,7 +37,7 @@ class NoEmptyBlockVisitor extends RecursiveAstVisitor { /// [_allowWithComments] indicates whether to allow empty blocks that contain /// any comments NoEmptyBlockVisitor({required bool allowWithComments}) - : _allowWithComments = allowWithComments; + : _allowWithComments = allowWithComments; /// All empty blocks Iterable get emptyBlocks => _emptyBlocks; diff --git a/lib/src/lints/no_magic_number/no_magic_number_rule.dart b/lib/src/lints/no_magic_number/no_magic_number_rule.dart index a1355219..40736331 100644 --- a/lib/src/lints/no_magic_number/no_magic_number_rule.dart +++ b/lib/src/lints/no_magic_number/no_magic_number_rule.dart @@ -147,7 +147,8 @@ class NoMagicNumberRule extends SolidLintRule { configs: configs, name: lintName, paramsParser: NoMagicNumberParameters.fromJson, - problemMessage: (_) => 'Avoid using magic numbers.' + problemMessage: (_) => + 'Avoid using magic numbers.' 'Extract them to named constants or variables.', ); diff --git a/lib/src/lints/number_of_parameters/number_of_parameters_rule.dart b/lib/src/lints/number_of_parameters/number_of_parameters_rule.dart index c09b92e1..8201b878 100644 --- a/lib/src/lints/number_of_parameters/number_of_parameters_rule.dart +++ b/lib/src/lints/number_of_parameters/number_of_parameters_rule.dart @@ -50,7 +50,8 @@ class NumberOfParametersRule configs: configs, name: lintName, paramsParser: NumberOfParametersParameters.fromJson, - problemMessage: (value) => 'The maximum allowed number of parameters is ' + problemMessage: (value) => + 'The maximum allowed number of parameters is ' '${value.maxParameters}. Try reducing the number of parameters.', ); diff --git a/lib/src/lints/prefer_conditional_expressions/models/prefer_conditional_expressions_parameters.dart b/lib/src/lints/prefer_conditional_expressions/models/prefer_conditional_expressions_parameters.dart index 4524e700..ef17d5ff 100644 --- a/lib/src/lints/prefer_conditional_expressions/models/prefer_conditional_expressions_parameters.dart +++ b/lib/src/lints/prefer_conditional_expressions/models/prefer_conditional_expressions_parameters.dart @@ -23,8 +23,7 @@ class PreferConditionalExpressionsParameters { /// Method for creating from json data factory PreferConditionalExpressionsParameters.fromJson( Map json, - ) => - PreferConditionalExpressionsParameters( - ignoreNested: json[_ignoreNestedConfig] as bool? ?? false, - ); + ) => PreferConditionalExpressionsParameters( + ignoreNested: json[_ignoreNestedConfig] as bool? ?? false, + ); } diff --git a/lib/src/lints/prefer_early_return/visitors/prefer_early_return_visitor.dart b/lib/src/lints/prefer_early_return/visitors/prefer_early_return_visitor.dart index 127de6e8..6ccfe2c0 100644 --- a/lib/src/lints/prefer_early_return/visitors/prefer_early_return_visitor.dart +++ b/lib/src/lints/prefer_early_return/visitors/prefer_early_return_visitor.dart @@ -39,12 +39,12 @@ class PreferEarlyReturnVisitor extends RecursiveAstVisitor { _nodes.add(node); } -// returns a list of if statements at the start of the function -// and the next statement after it -// examples: -// [if, if, if, return] -> ([if, if, if], return) -// [if, if, if, _doSomething, return] -> ([if, if, if], _doSomething) -// [if, if, if] -> ([if, if, if], null) + // returns a list of if statements at the start of the function + // and the next statement after it + // examples: + // [if, if, if, return] -> ([if, if, if], return) + // [if, if, if, _doSomething, return] -> ([if, if, if], _doSomething) + // [if, if, if] -> ([if, if, if], null) (List, Statement?) _getStartIfStatements( BlockFunctionBody body, ) { diff --git a/lib/src/lints/prefer_match_file_name/visitors/prefer_match_file_name_visitor.dart b/lib/src/lints/prefer_match_file_name/visitors/prefer_match_file_name_visitor.dart index 5f008ddd..650bacda 100644 --- a/lib/src/lints/prefer_match_file_name/visitors/prefer_match_file_name_visitor.dart +++ b/lib/src/lints/prefer_match_file_name/visitors/prefer_match_file_name_visitor.dart @@ -18,18 +18,19 @@ class PreferMatchFileNameVisitor extends RecursiveAstVisitor { }); /// List of all declarations - Iterable get declarations => _declarations.where( + Iterable get declarations => + _declarations.where( (declaration) { if (declaration.parent is Declaration) { - return !excludedEntities - .shouldIgnoreEntity(declaration.parent as Declaration); + return !excludedEntities.shouldIgnoreEntity( + declaration.parent as Declaration, + ); } return true; }, - ).toList() - ..sort( - (a, b) => _publicDeclarationsFirst(a, b) ?? _byDeclarationOrder(a, b), - ); + ).toList()..sort( + (a, b) => _publicDeclarationsFirst(a, b) ?? _byDeclarationOrder(a, b), + ); @override void visitClassDeclaration(ClassDeclaration node) { diff --git a/lib/src/lints/proper_super_calls/proper_super_calls_rule.dart b/lib/src/lints/proper_super_calls/proper_super_calls_rule.dart index 446a6935..320021b8 100644 --- a/lib/src/lints/proper_super_calls/proper_super_calls_rule.dart +++ b/lib/src/lints/proper_super_calls/proper_super_calls_rule.dart @@ -142,7 +142,8 @@ class ProperSuperCallsRule extends SolidLintRule { if (firstStatement is ExpressionStatement) { final expression = firstStatement.expression; - final isSuperInitStateCalledFirst = expression is MethodInvocation && + final isSuperInitStateCalledFirst = + expression is MethodInvocation && expression.target is SuperExpression && expression.methodName.toString() == _initState; @@ -161,7 +162,8 @@ class ProperSuperCallsRule extends SolidLintRule { if (lastStatement is ExpressionStatement) { final expression = lastStatement.expression; - final lastStatementIsSuperDispose = expression is MethodInvocation && + final lastStatementIsSuperDispose = + expression is MethodInvocation && expression.target is SuperExpression && expression.methodName.toString() == _dispose; diff --git a/lib/src/models/rule_config.dart b/lib/src/models/rule_config.dart index 35c35b96..f3bace26 100644 --- a/lib/src/models/rule_config.dart +++ b/lib/src/models/rule_config.dart @@ -18,9 +18,9 @@ class RuleConfig { required CustomLintConfigs configs, required RuleProblemFactory problemMessage, RuleParameterParser? paramsParser, - }) : enabled = configs.rules[name]?.enabled ?? false, - parameters = paramsParser?.call(configs.rules[name]?.json ?? {}) as T, - _problemMessageFactory = problemMessage; + }) : enabled = configs.rules[name]?.enabled ?? false, + parameters = paramsParser?.call(configs.rules[name]?.json ?? {}) as T, + _problemMessageFactory = problemMessage; /// This lint rule represents the error. final String name; @@ -36,8 +36,8 @@ class RuleConfig { /// [LintCode] which is generated based on the provided data. LintCode get lintCode => LintCode( - name: name, - problemMessage: _problemMessageFactory(parameters), - errorSeverity: error.DiagnosticSeverity.WARNING, - ); + name: name, + problemMessage: _problemMessageFactory(parameters), + errorSeverity: error.DiagnosticSeverity.WARNING, + ); } diff --git a/lib/src/utils/docs_parser/main.dart b/lib/src/utils/docs_parser/main.dart index 3f087e0f..8de70a98 100644 --- a/lib/src/utils/docs_parser/main.dart +++ b/lib/src/utils/docs_parser/main.dart @@ -6,8 +6,9 @@ import 'package:solid_lints/src/utils/docs_parser/parser_utils.dart'; import 'package:solid_lints/src/utils/docs_parser/parsers/rule_parser.dart'; void main() async { - final dir = - Directory(normalize(join(Directory.current.path, 'lib', 'lints'))); + final dir = Directory( + normalize(join(Directory.current.path, 'lib', 'lints')), + ); final ruleFiles = ParserUtils.findRuleFiles(dir); final rulesDocs = ruleFiles diff --git a/lib/src/utils/docs_parser/output_formatters/docusaurus_formatter.dart b/lib/src/utils/docs_parser/output_formatters/docusaurus_formatter.dart index 33abfab3..b57bf984 100644 --- a/lib/src/utils/docs_parser/output_formatters/docusaurus_formatter.dart +++ b/lib/src/utils/docs_parser/output_formatters/docusaurus_formatter.dart @@ -24,8 +24,8 @@ sidebar_position: 0 DocusaurusFormatter({ required String docusaurusDocsDirPath, required String readmePath, - }) : _outputDirectory = Directory(docusaurusDocsDirPath), - _readmeFile = File(readmePath); + }) : _outputDirectory = Directory(docusaurusDocsDirPath), + _readmeFile = File(readmePath); @override void format(List rules) { @@ -40,9 +40,10 @@ sidebar_position: 0 rules.forEach(_createMarkdownFileForRule); } - void _createMarkdownFileForRule(RuleDoc rule) => File( - join(_outputDirectory.path, '${rule.name}.md'), - ) + void _createMarkdownFileForRule(RuleDoc rule) => + File( + join(_outputDirectory.path, '${rule.name}.md'), + ) ..createSync() ..writeAsString( _markdownFormatter.formatRuleToMarkdown( diff --git a/lib/src/utils/docs_parser/parsers/parameters_parser.dart b/lib/src/utils/docs_parser/parsers/parameters_parser.dart index a3d97da0..0fa52fc3 100644 --- a/lib/src/utils/docs_parser/parsers/parameters_parser.dart +++ b/lib/src/utils/docs_parser/parsers/parameters_parser.dart @@ -29,7 +29,8 @@ class ParametersParser extends BaseParser { featureSet: FeatureSet.latestLanguageVersion(), ); - final parameterDocs = ast.unit.declarations + final parameterDocs = + ast.unit.declarations .whereType() .map(_parseParametersDocs) .firstWhereOrNull((docs) => docs.isNotEmpty) ?? diff --git a/lib/src/utils/docs_parser/parsers/rule_parser.dart b/lib/src/utils/docs_parser/parsers/rule_parser.dart index ab73c57e..de130da6 100644 --- a/lib/src/utils/docs_parser/parsers/rule_parser.dart +++ b/lib/src/utils/docs_parser/parsers/rule_parser.dart @@ -24,12 +24,13 @@ class RuleParser extends BaseParser { path: rulePath, featureSet: FeatureSet.latestLanguageVersion(), ); - final declaration = - ast.unit.declarations.whereType().firstWhereOrNull( - (declaration) => - declaration.documentationComment?.childEntities.isNotEmpty ?? - false, - ); + final declaration = ast.unit.declarations + .whereType() + .firstWhereOrNull( + (declaration) => + declaration.documentationComment?.childEntities.isNotEmpty ?? + false, + ); if (declaration == null) { throw 'Rule at the path "$rulePath" does not have documentation string'; diff --git a/lib/src/utils/node_utils.dart b/lib/src/utils/node_utils.dart index 3cea0c01..89e08aff 100644 --- a/lib/src/utils/node_utils.dart +++ b/lib/src/utils/node_utils.dart @@ -3,9 +3,8 @@ import 'package:analyzer/dart/ast/token.dart'; /// Check node is override method from its metadata bool isOverride(List metadata) => metadata.any( - (node) => - node.name.name == 'override' && node.atSign.type == TokenType.AT, - ); + (node) => node.name.name == 'override' && node.atSign.type == TokenType.AT, +); /// Returns human readable node type /// Self explanatory diff --git a/lib/src/utils/parameter_utils.dart b/lib/src/utils/parameter_utils.dart index 6e914ec6..85b3ea7d 100644 --- a/lib/src/utils/parameter_utils.dart +++ b/lib/src/utils/parameter_utils.dart @@ -32,13 +32,12 @@ extension LintCodeCopyWith on LintCode { String? uniqueName, String? url, error.DiagnosticSeverity? errorSeverity, - }) => - LintCode( - name: name ?? this.name, - problemMessage: problemMessage ?? this.problemMessage, - correctionMessage: correctionMessage ?? this.correctionMessage, - uniqueName: uniqueName ?? this.uniqueName, - url: url ?? this.url, - errorSeverity: errorSeverity ?? this.errorSeverity, - ); + }) => LintCode( + name: name ?? this.name, + problemMessage: problemMessage ?? this.problemMessage, + correctionMessage: correctionMessage ?? this.correctionMessage, + uniqueName: uniqueName ?? this.uniqueName, + url: url ?? this.url, + errorSeverity: errorSeverity ?? this.errorSeverity, + ); } diff --git a/lib/src/utils/path_utils.dart b/lib/src/utils/path_utils.dart index 1973c57d..53ea82a1 100644 --- a/lib/src/utils/path_utils.dart +++ b/lib/src/utils/path_utils.dart @@ -21,13 +21,15 @@ bool shouldSkipFile({ final relative = relativePath(path, rootPath); final shouldAnalyzeFile = (includeGlobs.isEmpty || _matchesAnyGlob(includeGlobs, relative)) && - (excludeGlobs.isEmpty || _doesNotMatchGlobs(excludeGlobs, relative)); + (excludeGlobs.isEmpty || _doesNotMatchGlobs(excludeGlobs, relative)); return !shouldAnalyzeFile; } bool _matchesAnyGlob(List globsList, String path) { - final hasMatch = - globsList.map(Glob.new).toList().any((glob) => glob.matches(path)); + final hasMatch = globsList + .map(Glob.new) + .toList() + .any((glob) => glob.matches(path)); return hasMatch; } @@ -39,8 +41,9 @@ bool _doesNotMatchGlobs(List globList, String path) { /// replaces backslashes with forward slashes String relativePath(String path, [String? root]) { final uriNormlizedPath = p.toUri(path).normalizePath().path; - final uriNormlizedRoot = - root != null ? p.toUri(root).normalizePath().path : null; + final uriNormlizedRoot = root != null + ? p.toUri(root).normalizePath().path + : null; final relative = p.posix.relative(uriNormlizedPath, from: uriNormlizedRoot); return relative; diff --git a/lib/src/utils/typecast_utils.dart b/lib/src/utils/typecast_utils.dart index d8b6c011..3718b764 100644 --- a/lib/src/utils/typecast_utils.dart +++ b/lib/src/utils/typecast_utils.dart @@ -66,13 +66,10 @@ class TypeCast { return false; } - if (this - case TypeCast( - source: final objectType, - target: final castedType, - ) - when objectType is ParameterizedType && - castedType is ParameterizedType) { + if (this case TypeCast( + source: final objectType, + target: final castedType, + ) when objectType is ParameterizedType && castedType is ParameterizedType) { if (objectType.typeArguments.length != castedType.typeArguments.length) { return false; } diff --git a/tool/generate_web_docs_content.dart b/tool/generate_web_docs_content.dart index 233ebfb0..7ec6bb55 100644 --- a/tool/generate_web_docs_content.dart +++ b/tool/generate_web_docs_content.dart @@ -25,14 +25,16 @@ void main(List rawArgs) async { ..addOption( 'docs-dir', abbr: 'o', - help: 'Parser output path. i.e "docusaurus/docs/Solid Lints" directory.' + help: + 'Parser output path. i.e "docusaurus/docs/Solid Lints" directory.' 'Please note that parent directory would be used to place the intro.md file', defaultsTo: docusaurusDefaultPath, ) ..addOption( 'readme', abbr: 'r', - help: 'Path to the README.md file that should be' + help: + 'Path to the README.md file that should be' ' copied as docusaurus intro.md', defaultsTo: readmeDefaultPath, ) From c6b9ce6b4c5dcaf447db516cbe968d0fa2e998ed Mon Sep 17 00:00:00 2001 From: xJac0b Date: Sun, 28 Sep 2025 13:48:39 +0200 Subject: [PATCH 3/3] Update dart sdk for example --- example/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 0171dfc8..ee7d8fcc 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -3,7 +3,7 @@ description: A starting point for Dart libraries or applications. publish_to: none environment: - sdk: ">=3.0.0 <4.0.0" + sdk: ">=3.8.0 <4.0.0" dependencies: flutter: