From 6acc2d49e3a28d08d540951be4fea84eb8fd7e2a Mon Sep 17 00:00:00 2001 From: Rexios Date: Thu, 9 Jan 2025 11:41:30 -0500 Subject: [PATCH 1/5] Support analyzer 7 --- hive_generator/CHANGELOG.md | 4 ++++ .../lib/src/adapter_builder/class_adapter_builder.dart | 4 +--- hive_generator/pubspec.yaml | 6 +++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hive_generator/CHANGELOG.md b/hive_generator/CHANGELOG.md index 2f176c5..1ad95ac 100644 --- a/hive_generator/CHANGELOG.md +++ b/hive_generator/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.8.2 + +- Supports analyzer 7 + ## 1.8.1 - Fixes a bug in the migrator affecting `freezed` classes diff --git a/hive_generator/lib/src/adapter_builder/class_adapter_builder.dart b/hive_generator/lib/src/adapter_builder/class_adapter_builder.dart index 354cac3..d41aebf 100644 --- a/hive_generator/lib/src/adapter_builder/class_adapter_builder.dart +++ b/hive_generator/lib/src/adapter_builder/class_adapter_builder.dart @@ -218,9 +218,7 @@ extension on DartType { final definingLibrary = element.library; if (definingLibrary == currentLibrary) return getDisplayString(); - // TODO: This is failing in beta (remove when fixed) - // ignore: deprecated_member_use - for (final import in currentLibrary.libraryImports) { + for (final import in currentLibrary.units.expand((e) => e.libraryImports)) { for (final MapEntry(:key, :value) in import.namespace.definedNames.entries) { if (value == element) { diff --git a/hive_generator/pubspec.yaml b/hive_generator/pubspec.yaml index 69b34ba..863d055 100644 --- a/hive_generator/pubspec.yaml +++ b/hive_generator/pubspec.yaml @@ -1,6 +1,6 @@ name: hive_ce_generator description: Extension for Hive. Automatically generates TypeAdapters to store any class. -version: 1.8.1 +version: 1.8.2 homepage: https://github.com/IO-Design-Team/hive_ce/tree/main/hive_generator documentation: https://docs.hivedb.dev/ @@ -9,9 +9,9 @@ environment: dependencies: build: ^2.0.0 - source_gen: ^1.0.0 + source_gen: ^2.0.0 hive_ce: ^2.8.0 - analyzer: ^6.5.0 + analyzer: ^7.1.0 source_helper: ^1.1.0 glob: ^2.1.2 path: ^1.9.0 From d56d40a077291056f886bedafe8c7707b3c8ea73 Mon Sep 17 00:00:00 2001 From: Rexios Date: Thu, 9 Jan 2025 11:47:30 -0500 Subject: [PATCH 2/5] Fix pub get in storage benchmark --- benchmarks/storage/pubspec.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/benchmarks/storage/pubspec.yaml b/benchmarks/storage/pubspec.yaml index c470f7b..7bb6c62 100644 --- a/benchmarks/storage/pubspec.yaml +++ b/benchmarks/storage/pubspec.yaml @@ -12,7 +12,7 @@ dependencies: csv: ^6.0.0 dev_dependencies: - rexios_lints: ^8.2.0 + rexios_lints: ^9.2.0 build_runner: ^2.4.13 json_serializable: ^6.8.0 hive_ce_generator: any @@ -22,3 +22,5 @@ dependency_overrides: path: ../../hive hive_ce_generator: path: ../../hive_generator + source_gen: ^2.0.0 + analyzer: ^7.0.0 From f1347b8275d1fb62561f1af7103a793fddac6920 Mon Sep 17 00:00:00 2001 From: Rexios Date: Thu, 9 Jan 2025 11:56:10 -0500 Subject: [PATCH 3/5] Disable build runner in storage benchmark --- benchmarks/storage/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmarks/storage/pubspec.yaml b/benchmarks/storage/pubspec.yaml index 7bb6c62..51b9482 100644 --- a/benchmarks/storage/pubspec.yaml +++ b/benchmarks/storage/pubspec.yaml @@ -13,7 +13,7 @@ dependencies: dev_dependencies: rexios_lints: ^9.2.0 - build_runner: ^2.4.13 + # build_runner: ^2.4.13 # TODO: Fix this json_serializable: ^6.8.0 hive_ce_generator: any From 0859cf45b1618d2bb3cd0d00644faf789363bd53 Mon Sep 17 00:00:00 2001 From: Rexios Date: Thu, 9 Jan 2025 12:04:12 -0500 Subject: [PATCH 4/5] Update generated code --- hive_generator/example/lib/types.g.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hive_generator/example/lib/types.g.dart b/hive_generator/example/lib/types.g.dart index ab2bbc7..5dbe96a 100644 --- a/hive_generator/example/lib/types.g.dart +++ b/hive_generator/example/lib/types.g.dart @@ -108,7 +108,7 @@ class EmptyClassAdapter extends TypeAdapter { @override void write(BinaryWriter writer, EmptyClass obj) { - writer.writeByte(0); + writer..writeByte(0); } @override From 6d1327f818448c80a1d745641516f2e37631e332 Mon Sep 17 00:00:00 2001 From: Rexios Date: Thu, 9 Jan 2025 12:10:45 -0500 Subject: [PATCH 5/5] Fix cascade generation issue --- hive_generator/example/lib/types.g.dart | 2 +- .../lib/src/adapter_builder/class_adapter_builder.dart | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hive_generator/example/lib/types.g.dart b/hive_generator/example/lib/types.g.dart index 5dbe96a..ab2bbc7 100644 --- a/hive_generator/example/lib/types.g.dart +++ b/hive_generator/example/lib/types.g.dart @@ -108,7 +108,7 @@ class EmptyClassAdapter extends TypeAdapter { @override void write(BinaryWriter writer, EmptyClass obj) { - writer..writeByte(0); + writer.writeByte(0); } @override diff --git a/hive_generator/lib/src/adapter_builder/class_adapter_builder.dart b/hive_generator/lib/src/adapter_builder/class_adapter_builder.dart index d41aebf..dbc6dd9 100644 --- a/hive_generator/lib/src/adapter_builder/class_adapter_builder.dart +++ b/hive_generator/lib/src/adapter_builder/class_adapter_builder.dart @@ -177,7 +177,9 @@ class ClassAdapterBuilder extends AdapterBuilder { String buildWrite() { final code = StringBuffer(); code.writeln('writer'); - code.writeln('..writeByte(${getters.length})'); + // Only cascade when there are getters + if (getters.isNotEmpty) code.write('.'); + code.writeln('.writeByte(${getters.length})'); for (final field in getters) { code.writeln(''' ..writeByte(${field.index})