From 60057bf8609607a3fd228d98880860dda8ec058f Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 00:05:28 +0000 Subject: [PATCH 1/9] chore: update sponsors.svg --- sponsorkit/sponsors.svg | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sponsorkit/sponsors.svg b/sponsorkit/sponsors.svg index 68d0bf01..5e809fd7 100644 --- a/sponsorkit/sponsors.svg +++ b/sponsorkit/sponsors.svg @@ -1,5 +1,5 @@ - + From 44de5410631bec8312594c4b0368159f12abb017 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 07:24:53 +0200 Subject: [PATCH 2/9] Bump actions/add-to-project from 1.0.0 to 1.0.1 (#1071) Bumps [actions/add-to-project](https://github.com/actions/add-to-project) from 1.0.0 to 1.0.1. - [Release notes](https://github.com/actions/add-to-project/releases) - [Commits](https://github.com/actions/add-to-project/compare/v1.0.0...v1.0.1) --- updated-dependencies: - dependency-name: actions/add-to-project dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/project.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml index 1c2b11c0..57a43ebe 100644 --- a/.github/workflows/project.yml +++ b/.github/workflows/project.yml @@ -11,7 +11,7 @@ jobs: name: Add issue to project runs-on: ubuntu-latest steps: - - uses: actions/add-to-project@v1.0.0 + - uses: actions/add-to-project@v1.0.1 with: project-url: https://github.com/users/rrousselGit/projects/8 github-token: ${{ secrets.ADD_TO_PROJECT_PAT }} From c17746e2c02f3f05efd468673e06a544d3a837c7 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 20 Apr 2024 00:05:39 +0000 Subject: [PATCH 3/9] chore: update sponsors.svg --- sponsorkit/sponsors.svg | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sponsorkit/sponsors.svg b/sponsorkit/sponsors.svg index 5e809fd7..e5ee20b3 100644 --- a/sponsorkit/sponsors.svg +++ b/sponsorkit/sponsors.svg @@ -1,5 +1,5 @@ - + From f0a476b249ea595b4d3a1d595b24333dc9354a32 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 21 Apr 2024 00:06:29 +0000 Subject: [PATCH 4/9] chore: update sponsors.svg --- sponsorkit/sponsors.svg | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sponsorkit/sponsors.svg b/sponsorkit/sponsors.svg index e5ee20b3..5e809fd7 100644 --- a/sponsorkit/sponsors.svg +++ b/sponsorkit/sponsors.svg @@ -1,5 +1,5 @@ - + From c207057d288730a274ef1cac62a19661488bc4fd Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 00:05:39 +0000 Subject: [PATCH 5/9] chore: update sponsors.svg --- sponsorkit/sponsors.svg | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/sponsorkit/sponsors.svg b/sponsorkit/sponsors.svg index 5e809fd7..228dea02 100644 --- a/sponsorkit/sponsors.svg +++ b/sponsorkit/sponsors.svg @@ -185,62 +185,58 @@ text { - + - + - + - + - + - + - + - + - + - - - - - + - + - + - + - + From 505b32f41567363704e4e66e45695d05dc09d6b4 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 00:05:34 +0000 Subject: [PATCH 6/9] chore: update sponsors.svg --- sponsorkit/sponsors.svg | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/sponsorkit/sponsors.svg b/sponsorkit/sponsors.svg index 228dea02..135bb9d6 100644 --- a/sponsorkit/sponsors.svg +++ b/sponsorkit/sponsors.svg @@ -185,58 +185,54 @@ text { - + - + - + - + - + - + - + - + - + - + - + - + - - - - - + From 5f0b80c0b52e4c08ea2dab7770d3e15cd51d42cd Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 4 May 2024 00:05:58 +0000 Subject: [PATCH 7/9] chore: update sponsors.svg --- sponsorkit/sponsors.svg | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/sponsorkit/sponsors.svg b/sponsorkit/sponsors.svg index 135bb9d6..856ad959 100644 --- a/sponsorkit/sponsors.svg +++ b/sponsorkit/sponsors.svg @@ -185,54 +185,58 @@ text { - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + From f905fb0dd8e516b7e2fd2780824d2fb43a4c4d98 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 9 May 2024 00:05:50 +0000 Subject: [PATCH 8/9] chore: update sponsors.svg --- sponsorkit/sponsors.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sponsorkit/sponsors.svg b/sponsorkit/sponsors.svg index 856ad959..661da032 100644 --- a/sponsorkit/sponsors.svg +++ b/sponsorkit/sponsors.svg @@ -64,7 +64,7 @@ text { Awarefy - + Backers From 83ff203d93c55c0a21f0d72a9143a529ebedfb70 Mon Sep 17 00:00:00 2001 From: Remi Rousselet Date: Tue, 14 May 2024 12:41:35 +0200 Subject: [PATCH 9/9] Support analyzer 6.5.0 (#1089) --- packages/freezed/CHANGELOG.md | 4 ++ .../freezed/lib/src/freezed_generator.dart | 6 +- .../lib/src/templates/concrete_template.dart | 3 +- .../lib/src/templates/parameter_template.dart | 2 +- packages/freezed/lib/src/tools/type.dart | 9 ++- packages/freezed/pubspec.yaml | 4 +- .../test/multiple_constructors_test.dart | 61 ++++--------------- packages/freezed_lint/CHANGELOG.md | 4 ++ .../freezed_lint/lib/src/missing_mixin.dart | 4 +- .../lib/src/missing_private_empty_ctor.dart | 2 +- .../lib/src/tools/element_extensions.dart | 4 +- packages/freezed_lint/pubspec.yaml | 2 +- 12 files changed, 34 insertions(+), 71 deletions(-) diff --git a/packages/freezed/CHANGELOG.md b/packages/freezed/CHANGELOG.md index b9a83013..9ceddcee 100644 --- a/packages/freezed/CHANGELOG.md +++ b/packages/freezed/CHANGELOG.md @@ -1,3 +1,7 @@ +## Unreleased patch + +- Support analyzer 6.5.0 + ## 2.5.2 - 2024-04-11 - Fixed `copyWith(value: null)` when using nullable generics diff --git a/packages/freezed/lib/src/freezed_generator.dart b/packages/freezed/lib/src/freezed_generator.dart index 01df2ac9..b0e044b3 100644 --- a/packages/freezed/lib/src/freezed_generator.dart +++ b/packages/freezed/lib/src/freezed_generator.dart @@ -303,7 +303,6 @@ class FreezedGenerator extends ParserGenerator { final commonTypeString = resolveFullTypeStringFrom( library, commonTypeBetweenAllUnionConstructors, - withNullability: true, ); final commonProperty = Property( @@ -341,7 +340,6 @@ class FreezedGenerator extends ParserGenerator { type: resolveFullTypeStringFrom( library, copyWithType, - withNullability: true, ), isNullable: copyWithType.isNullable, isDartList: copyWithType.isDartCoreList, @@ -488,7 +486,6 @@ class FreezedGenerator extends ParserGenerator { yield resolveFullTypeStringFrom( constructor.library, (object.type! as InterfaceType).typeArguments.single, - withNullability: false, ); } } @@ -508,7 +505,6 @@ class FreezedGenerator extends ParserGenerator { yield resolveFullTypeStringFrom( constructor.library, (object.type! as InterfaceType).typeArguments.single, - withNullability: false, ); } } @@ -547,7 +543,7 @@ class FreezedGenerator extends ParserGenerator { genericParameters: GenericsParameterTemplate( (parameter.type as InterfaceType) .typeArguments - .map((e) => e.getDisplayString(withNullability: true)) + .map((e) => e.getDisplayString()) .toList(), ), ); diff --git a/packages/freezed/lib/src/templates/concrete_template.dart b/packages/freezed/lib/src/templates/concrete_template.dart index 70a1eadb..679f9da5 100644 --- a/packages/freezed/lib/src/templates/concrete_template.dart +++ b/packages/freezed/lib/src/templates/concrete_template.dart @@ -559,7 +559,7 @@ extension DefaultValue on ParameterElement { } String? parseTypeSource(VariableElement element) { - String? type = element.type.getDisplayString(withNullability: true); + String? type = element.type.getDisplayString(); if ((type.contains('dynamic') || type.contains('InvalidType')) && element.nameOffset > 0) { @@ -578,6 +578,5 @@ String? parseTypeSource(VariableElement element) { return resolveFullTypeStringFrom( element.library!, element.type, - withNullability: true, ); } diff --git a/packages/freezed/lib/src/templates/parameter_template.dart b/packages/freezed/lib/src/templates/parameter_template.dart index 31dbb8cc..3985fd5f 100644 --- a/packages/freezed/lib/src/templates/parameter_template.dart +++ b/packages/freezed/lib/src/templates/parameter_template.dart @@ -13,7 +13,7 @@ class GenericsDefinitionTemplate { factory GenericsDefinitionTemplate.fromGenericElement( List generics) { return GenericsDefinitionTemplate( - generics.map((e) => e.getDisplayString(withNullability: true)).toList(), + generics.map((e) => e.getDisplayString()).toList(), ); } diff --git a/packages/freezed/lib/src/tools/type.dart b/packages/freezed/lib/src/tools/type.dart index 5c20ce49..61444674 100644 --- a/packages/freezed/lib/src/tools/type.dart +++ b/packages/freezed/lib/src/tools/type.dart @@ -39,9 +39,8 @@ Element? _getElementForType(DartType type) { /// Renders a type based on its string + potential import alias String resolveFullTypeStringFrom( LibraryElement originLibrary, - DartType type, { - required bool withNullability, -}) { + DartType type, +) { final owner = originLibrary.prefixes.firstWhereOrNull( (e) { return e.imports.any((l) { @@ -52,7 +51,7 @@ String resolveFullTypeStringFrom( }, ); - String? displayType = type.getDisplayString(withNullability: withNullability); + String? displayType = type.getDisplayString(); // The parameter is a typedef in the form of // SomeTypedef typedef @@ -95,7 +94,7 @@ String resolveFullTypeStringFrom( (t) => t is InvalidType, dynamicType, ); - displayType = modified.getDisplayString(withNullability: withNullability); + displayType = modified.getDisplayString(); } if (owner != null) { diff --git a/packages/freezed/pubspec.yaml b/packages/freezed/pubspec.yaml index afd4e642..33bfef81 100644 --- a/packages/freezed/pubspec.yaml +++ b/packages/freezed/pubspec.yaml @@ -10,7 +10,7 @@ environment: sdk: ">=2.17.0 <3.0.0" dependencies: - analyzer: ">=5.13.0 <7.0.0" + analyzer: ">=6.5.0 <7.0.0" build: ^2.3.1 build_config: ^1.1.0 collection: ^1.15.0 @@ -18,6 +18,8 @@ dependencies: source_gen: ^1.4.0 freezed_annotation: ^2.4.1 json_annotation: ^4.6.0 + # Indirect dependency, but fixes a compiler error when using `pub downgrade` + dart_style: ^2.3.6 dev_dependencies: json_serializable: ^6.3.2 diff --git a/packages/freezed/test/multiple_constructors_test.dart b/packages/freezed/test/multiple_constructors_test.dart index db4acb31..12b12ea2 100644 --- a/packages/freezed/test/multiple_constructors_test.dart +++ b/packages/freezed/test/multiple_constructors_test.dart @@ -36,10 +36,7 @@ Future main() async { final recursiveClass = _getClassElement('_RecursiveWith\$DollarNext'); expect( - recursiveClass - .getField('value')! - .type - .getDisplayString(withNullability: true), + recursiveClass.getField('value')!.type.getDisplayString(), 'RecursiveWith\$DollarImpl', ); }); @@ -532,31 +529,19 @@ void main() { test('generates List of correct type', () async { final nestedListClass = _getClassElement('ShallowNestedList'); - expect( - nestedListClass - .getField('children')! - .type - .getDisplayString(withNullability: true), + expect(nestedListClass.getField('children')!.type.getDisplayString(), 'List'); }); test('generates List of correct type for deeply nested case', () async { final nestedListClass = _getClassElement('DeepNestedList'); - expect( - nestedListClass - .getField('children')! - .type - .getDisplayString(withNullability: true), + expect(nestedListClass.getField('children')!.type.getDisplayString(), 'List'); final nestedListItemClass = _getClassElement('InnerNestedListItem'); - expect( - nestedListItemClass - .getField('children')! - .type - .getDisplayString(withNullability: true), + expect(nestedListItemClass.getField('children')!.type.getDisplayString(), 'List'); }); }); @@ -564,31 +549,19 @@ void main() { test('generates Map of correct type', () async { final nestedMapClass = _getClassElement('ShallowNestedMap'); - expect( - nestedMapClass - .getField('children')! - .type - .getDisplayString(withNullability: true), + expect(nestedMapClass.getField('children')!.type.getDisplayString(), 'Map'); }); test('generates Map of correct type for deeply nested case', () async { final nestedMapClass = _getClassElement('DeepNestedMap'); - expect( - nestedMapClass - .getField('children')! - .type - .getDisplayString(withNullability: true), + expect(nestedMapClass.getField('children')!.type.getDisplayString(), 'Map'); final nestedMapItemClass = _getClassElement('InnerNestedMapItem'); - expect( - nestedMapItemClass - .getField('children')! - .type - .getDisplayString(withNullability: true), + expect(nestedMapItemClass.getField('children')!.type.getDisplayString(), 'Map'); }); }); @@ -598,31 +571,19 @@ void main() { final nestedMapClass = _getClassElement('_UsesGenerated'); expect( - nestedMapClass - .getField('value')! - .type - .getDisplayString(withNullability: true), + nestedMapClass.getField('value')!.type.getDisplayString(), 'CodeGenerated', ); expect( - nestedMapClass - .getField('list')! - .type - .getDisplayString(withNullability: true), + nestedMapClass.getField('list')!.type.getDisplayString(), 'List', ); expect( - nestedMapClass - .getField('nestedList')! - .type - .getDisplayString(withNullability: true), + nestedMapClass.getField('nestedList')!.type.getDisplayString(), 'List>', ); expect( - nestedMapClass - .getField('map')! - .type - .getDisplayString(withNullability: true), + nestedMapClass.getField('map')!.type.getDisplayString(), 'Map', ); }); diff --git a/packages/freezed_lint/CHANGELOG.md b/packages/freezed_lint/CHANGELOG.md index 0caca882..a7acc39d 100644 --- a/packages/freezed_lint/CHANGELOG.md +++ b/packages/freezed_lint/CHANGELOG.md @@ -1,3 +1,7 @@ +## Unreleased patch + +- Support analyzer 6.5.0 + ## 0.0.1 - 2024-02-04 - Support latest custom_lint version. diff --git a/packages/freezed_lint/lib/src/missing_mixin.dart b/packages/freezed_lint/lib/src/missing_mixin.dart index 6945410b..2b486f78 100644 --- a/packages/freezed_lint/lib/src/missing_mixin.dart +++ b/packages/freezed_lint/lib/src/missing_mixin.dart @@ -27,13 +27,13 @@ class MissingMixin extends DartLintRule { final name = '_\$${element.name}'; final withClause = node.withClause; if (withClause == null) { - reporter.reportErrorForElement(code, element, [name]); + reporter.atElement(element, code, arguments: [name]); return; } final mixins = withClause.mixinTypes; if (mixins.any((m) => name == m.name2.lexeme)) return; - reporter.reportErrorForElement(code, element, [name]); + reporter.atElement(element, code, arguments: [name]); }); } 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 6212a8c8..cbf6191c 100644 --- a/packages/freezed_lint/lib/src/missing_private_empty_ctor.dart +++ b/packages/freezed_lint/lib/src/missing_private_empty_ctor.dart @@ -40,7 +40,7 @@ class MissingPrivateEmptyCtor extends DartLintRule { final constToken = element.constToken(); final name = '${constToken}${element.displayName}._();'; - reporter.reportErrorForElement(code, element, [name]); + reporter.atElement(element, code, arguments: [name]); }); } diff --git a/packages/freezed_lint/lib/src/tools/element_extensions.dart b/packages/freezed_lint/lib/src/tools/element_extensions.dart index d23f9635..8c47fca8 100644 --- a/packages/freezed_lint/lib/src/tools/element_extensions.dart +++ b/packages/freezed_lint/lib/src/tools/element_extensions.dart @@ -2,9 +2,7 @@ import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/dart/element/type.dart'; extension DartTypeExt on DartType { - bool hasName(String name) { - return getDisplayString(withNullability: false) == name; - } + bool hasName(String name) => getDisplayString() == name; } extension ClassElementExt on ClassElement { diff --git a/packages/freezed_lint/pubspec.yaml b/packages/freezed_lint/pubspec.yaml index efabeabf..8f41774b 100644 --- a/packages/freezed_lint/pubspec.yaml +++ b/packages/freezed_lint/pubspec.yaml @@ -9,7 +9,7 @@ environment: sdk: ">=3.0.0 <4.0.0" dependencies: - analyzer: ^6.0.0 + analyzer: ^6.5.0 analyzer_plugin: ^0.11.2 custom_lint_builder: ^0.6.0 freezed_annotation: ^2.3.0