From 61c6bb126043873b6d7ef5abf3dabab98f9487a0 Mon Sep 17 00:00:00 2001 From: Vasiliy Ditsyak Date: Mon, 3 Jun 2024 13:02:13 +0200 Subject: [PATCH] 6.0.0-beta.3 --- packages/reactive_forms_generator/CHANGELOG.md | 4 ++++ .../lib/reactive_forms_generator.dart | 13 +++---------- .../lib/src/form_generator.dart | 16 ++++++---------- .../lib/src/library_builder.dart | 8 +++----- packages/reactive_forms_generator/pubspec.yaml | 2 +- 5 files changed, 17 insertions(+), 26 deletions(-) diff --git a/packages/reactive_forms_generator/CHANGELOG.md b/packages/reactive_forms_generator/CHANGELOG.md index 586e42ae..14302c7d 100644 --- a/packages/reactive_forms_generator/CHANGELOG.md +++ b/packages/reactive_forms_generator/CHANGELOG.md @@ -1,3 +1,7 @@ +## [6.0.0-beta.3] + +* InconsistentAnalysisException fix + ## [6.0.0-beta.2] * InconsistentAnalysisException fix diff --git a/packages/reactive_forms_generator/lib/reactive_forms_generator.dart b/packages/reactive_forms_generator/lib/reactive_forms_generator.dart index 8003ae9a..48debb1f 100644 --- a/packages/reactive_forms_generator/lib/reactive_forms_generator.dart +++ b/packages/reactive_forms_generator/lib/reactive_forms_generator.dart @@ -4,12 +4,10 @@ library reactive_forms_generator; import 'dart:async'; -import 'package:analyzer/dart/analysis/results.dart'; import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/element/element.dart'; import 'package:build/build.dart'; import 'package:code_builder/code_builder.dart'; -import 'package:collection/collection.dart'; import 'package:dart_style/dart_style.dart'; import 'package:reactive_forms_generator/src/extensions.dart'; import 'package:reactive_forms_generator/src/types.dart'; @@ -75,13 +73,8 @@ class ReactiveFormsGenerator extends Generator { element: element, ); - final unit = await element.session!.getResolvedUnit( - element.source!.fullName, - ); - unit as ResolvedUnitResult; - final Object? ast = unit.unit.declarations.firstWhereOrNull( - (declaration) => declaration.declaredElement?.name == element.name!, - ); + final ast = await buildStep.resolver.astNodeFor(element, resolve: true); + if (ast == null) { throw InvalidGenerationSourceError('Ast not found', element: element); } @@ -92,6 +85,6 @@ class ReactiveFormsGenerator extends Generator { ); } - return await generateLibrary(element as ClassElement, ast); + return generateLibrary(element as ClassElement, ast); } } diff --git a/packages/reactive_forms_generator/lib/src/form_generator.dart b/packages/reactive_forms_generator/lib/src/form_generator.dart index 83a78ca1..90e09348 100644 --- a/packages/reactive_forms_generator/lib/src/form_generator.dart +++ b/packages/reactive_forms_generator/lib/src/form_generator.dart @@ -620,7 +620,7 @@ class FormGenerator { return displayType; } - Future test() async { + Code test() { var rfParameterVisitor = RfParameterVisitor(); // var rfAnnotationCollectorVisitor = RfAnnotationCollectorVisitor(); ast.visitChildren(rfParameterVisitor); @@ -643,9 +643,9 @@ class FormGenerator { return Code(renamedClass.updatedClass?.toSource() ?? ''); } - Future> get generate async { + List get generate { return [ - if (element.output) await test(), + if (element.output) test(), Class( (b) => b ..name = className @@ -766,13 +766,9 @@ class FormGenerator { ], ), ), - ...(await Future.wait( - formGroupGenerators.values.map((e) => e.generate), - )) - .expand((e) => e), - ...(await Future.wait( - nestedFormGroupGenerators.values.map((e) => e.generate), - )) + ...formGroupGenerators.values.map((e) => e.generate).expand((e) => e), + ...nestedFormGroupGenerators.values + .map((e) => e.generate) .expand((e) => e), ]; } diff --git a/packages/reactive_forms_generator/lib/src/library_builder.dart b/packages/reactive_forms_generator/lib/src/library_builder.dart index 2baa9b3a..0b2a013d 100644 --- a/packages/reactive_forms_generator/lib/src/library_builder.dart +++ b/packages/reactive_forms_generator/lib/src/library_builder.dart @@ -1,5 +1,3 @@ -import 'dart:async'; - import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/element/element.dart'; import 'package:code_builder/code_builder.dart'; @@ -15,10 +13,10 @@ import 'package:reactive_forms_generator/src/reactive_forms/reactive_inherited_s const stringRef = Reference('String'); const formGroupRef = Reference('FormGroup'); -Future> generateLibrary( +List generateLibrary( ClassElement element, Declaration ast, -) async { +) { final formGenerator = FormGenerator(element, element, null, ast); final reactiveInheritedStreamer = ReactiveInheritedStreamer(formGenerator); final reactiveForm = ReactiveForm(reactiveInheritedStreamer); @@ -36,7 +34,7 @@ Future> generateLibrary( reactiveForm.generate, reactiveFormExtension.generate, ...reactiveFormBuilder.generate, - ...(await formGenerator.generate), + ...formGenerator.generate, reactiveFormArrayBuilder.generate, reactiveFormGroupArrayBuilder.generate, ]; diff --git a/packages/reactive_forms_generator/pubspec.yaml b/packages/reactive_forms_generator/pubspec.yaml index b7122352..37b632af 100644 --- a/packages/reactive_forms_generator/pubspec.yaml +++ b/packages/reactive_forms_generator/pubspec.yaml @@ -15,7 +15,7 @@ repository: https://github.com/artflutter/reactive_forms_generator # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 6.0.0-beta.2 +version: 6.0.0-beta.3 environment: sdk: ">=3.0.0 <4.0.0"