diff --git a/packages/freezed_lint/CHANGELOG.md b/packages/freezed_lint/CHANGELOG.md index 1e4f6998..b74e67a7 100644 --- a/packages/freezed_lint/CHANGELOG.md +++ b/packages/freezed_lint/CHANGELOG.md @@ -1,4 +1,4 @@ -## Unreleased 0.1.0 +## Unreleased patch Support new Analyzer API and custom_lint diff --git a/packages/freezed_lint/lib/src/missing_mixin.dart b/packages/freezed_lint/lib/src/missing_mixin.dart index f8374a02..c7165cdb 100644 --- a/packages/freezed_lint/lib/src/missing_mixin.dart +++ b/packages/freezed_lint/lib/src/missing_mixin.dart @@ -1,5 +1,5 @@ -import 'package:analyzer/error/error.dart' hide LintCode; -import 'package:analyzer/error/listener.dart' show ErrorReporter; +import 'package:analyzer/diagnostic/diagnostic.dart'; +import 'package:analyzer/error/listener.dart' show DiagnosticReporter; import 'package:custom_lint_builder/custom_lint_builder.dart'; import 'package:freezed_lint/src/tools/freezed_annotation_checker.dart'; @@ -14,7 +14,7 @@ class MissingMixin extends DartLintRule { @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addClassDeclaration((node) { @@ -24,7 +24,7 @@ class MissingMixin extends DartLintRule { final annotation = freezedAnnotationChecker.hasAnnotationOfExact(element); if (!annotation) return; - final name = '_\$${element.name3}'; + final name = '_\$${element.name}'; final withClause = node.withClause; if (withClause == null) { reporter.atElement2(element, _code, arguments: [name]); @@ -32,7 +32,7 @@ class MissingMixin extends DartLintRule { } final mixins = withClause.mixinTypes; - if (mixins.any((m) => name == m.name2.lexeme)) return; + if (mixins.any((m) => name == m.name.lexeme)) return; reporter.atElement2(element, _code, arguments: [name]); }); } @@ -47,8 +47,8 @@ class _AddMixinFreezedClassFix extends DartFix { CustomLintResolver resolver, ChangeReporter reporter, CustomLintContext context, - AnalysisError analysisError, - List others, + Diagnostic analysisError, + List others, ) { context.registry.addClassDeclaration((node) { if (!analysisError.sourceRange.intersects(node.sourceRange)) return; diff --git a/packages/freezed_lint/lib/src/missing_private_empty_ctor.dart b/packages/freezed_lint/lib/src/missing_private_empty_ctor.dart index 23c11638..fc8db5c4 100644 --- a/packages/freezed_lint/lib/src/missing_private_empty_ctor.dart +++ b/packages/freezed_lint/lib/src/missing_private_empty_ctor.dart @@ -1,5 +1,6 @@ +import 'package:analyzer/diagnostic/diagnostic.dart'; import 'package:analyzer/error/error.dart' hide LintCode; -import 'package:analyzer/error/listener.dart' show ErrorReporter; +import 'package:analyzer/error/listener.dart' show DiagnosticReporter; import 'package:custom_lint_builder/custom_lint_builder.dart'; import 'package:freezed_lint/src/tools/element_extensions.dart'; import 'package:freezed_lint/src/tools/freezed_annotation_checker.dart'; @@ -13,13 +14,13 @@ class MissingPrivateEmptyCtor extends DartLintRule { correctionMessage: 'Freezed classes containing methods, fields or accessors,' 'requires a {0}', - errorSeverity: ErrorSeverity.ERROR, + errorSeverity: DiagnosticSeverity.ERROR, ); @override void run( CustomLintResolver resolver, - ErrorReporter reporter, + DiagnosticReporter reporter, CustomLintContext context, ) { context.registry.addClassDeclaration((node) { @@ -29,17 +30,17 @@ class MissingPrivateEmptyCtor extends DartLintRule { final annotation = freezedAnnotationChecker.hasAnnotationOfExact(element); if (!annotation) return; - final methods = element.methods2.where((method) => !method.isStatic); - final fields = element.fields2.where((field) => !field.isStatic); + final methods = element.methods.where((method) => !method.isStatic); + final fields = element.fields.where((field) => !field.isStatic); final accessors = [ - ...element.getters2, - ...element.setters2, + ...element.getters, + ...element.setters, ].where((accessor) => !accessor.isStatic); if (methods.isEmpty && fields.isEmpty && accessors.isEmpty) return; - final ctors = element.constructors2.where((ctor) => - ctor.isPrivate && ctor.formalParameters.isEmpty && ctor.name3 == '_'); + final ctors = element.constructors.where((ctor) => + ctor.isPrivate && ctor.formalParameters.isEmpty && ctor.name == '_'); if (ctors.isNotEmpty) return; final constToken = element.constToken(); @@ -58,8 +59,8 @@ class _AddPrivateEmptyCtorFix extends DartFix { CustomLintResolver resolver, ChangeReporter reporter, CustomLintContext context, - AnalysisError analysisError, - List others, + Diagnostic analysisError, + List others, ) { context.registry.addClassDeclaration((node) { if (!analysisError.sourceRange.intersects(node.sourceRange)) return; diff --git a/packages/freezed_lint/lib/src/tools/element_extensions.dart b/packages/freezed_lint/lib/src/tools/element_extensions.dart index 683e84cd..8c47fca8 100644 --- a/packages/freezed_lint/lib/src/tools/element_extensions.dart +++ b/packages/freezed_lint/lib/src/tools/element_extensions.dart @@ -1,13 +1,13 @@ -import 'package:analyzer/dart/element/element2.dart'; +import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/dart/element/type.dart'; extension DartTypeExt on DartType { bool hasName(String name) => getDisplayString() == name; } -extension ClassElementExt on ClassElement2 { +extension ClassElementExt on ClassElement { String? constToken() { - if (constructors2.any((c) => c.isConst)) return 'const '; + if (constructors.any((c) => c.isConst)) return 'const '; return null; } } diff --git a/packages/freezed_lint/pubspec.yaml b/packages/freezed_lint/pubspec.yaml index b8522d8f..3cabfd57 100644 --- a/packages/freezed_lint/pubspec.yaml +++ b/packages/freezed_lint/pubspec.yaml @@ -9,12 +9,12 @@ environment: sdk: ">=3.0.0 <4.0.0" dependencies: - analyzer: ^7.0.0 + analyzer: ^8.0.0 analyzer_plugin: ^0.13.0 - custom_lint_builder: ^0.8.0 + custom_lint_builder: ^0.8.1 freezed_annotation: 3.1.0 dev_dependencies: - custom_lint: ^0.8.0 + custom_lint: ^0.8.1 build_verify: ^3.1.0 test: ^1.22.2