Skip to content

[reactive_forms_generator] not compatible with new Dart 3.9.0 #197

@M-Ahal

Description

@M-Ahal

New analyzer, source_gen, fe_analyzer_shared, build versions are needed if someone wants to use Dart 3.9.0. Just migrating the dependencies breaks the whole project because no migration was done:

Log

log output for build_runner
W
../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/reactive_forms_generator.dart:34:28:
Error: The argument type 'Element2' can't be assigned to the parameter type 'Element'.

  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
  • 'Element' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
    annotatedElement.element,
    ^

../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/reactive_forms_generator.dart:90:18:
Error: The argument type 'Element' can't be assigned to the parameter type 'Fragment'.

  • 'Element' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Fragment' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    astElement ?? element,
    ^

../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/reactive_forms_generator.dart:95:68:
Error: The argument type 'Element' can't be assigned to the parameter type 'Element2?'.

  • 'Element' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    throw InvalidGenerationSourceError('Ast not found', element: element);
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/types.dart:83:50: Error: The
    argument type 'Element' can't be assigned to the parameter type 'Element2'.
  • 'Element' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    return formGroupChecker.hasAnnotationOfExact(this);
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/types.dart:87:46: Error: The
    argument type 'Element' can't be assigned to the parameter type 'Element2'.
  • 'Element' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    return _formChecker.hasAnnotationOfExact(this);
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/types.dart:91:52: Error: The
    argument type 'Element' can't be assigned to the parameter type 'Element2'.
  • 'Element' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    return formControlChecker.hasAnnotationOfExact(this);
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/types.dart:130:46: Error: The
    argument type 'ParameterElement' can't be assigned to the parameter type 'Element2'.
  • 'ParameterElement' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    return _formChecker.hasAnnotationOfExact(this);
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/types.dart:135:7: Error: The
    argument type 'ParameterElement' can't be assigned to the parameter type 'Element2'.
  • 'ParameterElement' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    this,
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/types.dart:143:46: Error: The
    argument type 'FieldElement' can't be assigned to the parameter type 'Element2'.
  • 'FieldElement' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    return _formChecker.hasAnnotationOfExact(this);
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/types.dart:149:46: Error: The
    argument type 'ClassElement' can't be assigned to the parameter type 'Element2'.
  • 'ClassElement' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    return _formChecker.hasAnnotationOfExact(this);
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/types.dart:153:48: Error: The
    argument type 'ClassElement' can't be assigned to the parameter type 'Element2'.
  • 'ClassElement' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    return _formChecker.firstAnnotationOfExact(this);
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/utils.dart:13:14: Error: The
    argument type 'Element?' can't be assigned to the parameter type 'Element2?'.
  • 'Element' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'Element2' is from 'package:analyzer/dart/element/element2.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element2.dart').
    element: element,
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/output/x.dart:567:60: Error:
    The argument type 'List' can't be assigned to the parameter type 'List'.
  • 'List' is from 'dart:core'.
  • 'TypeParameterElement' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'TypeParameterElementImpl2' is from 'package:analyzer/src/dart/element/element.dart'
    ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/src/dart/element/element.dart').
    return replaceTypeParameters(type as FunctionTypeImpl, newTypeParameters);
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/form_generator.dart:847:47:
    Error: Required named parameter 'name2' must be provided.
    e.ParameterElementImpl(
    ^
    ../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/src/dart/element/element.dart:9707:3: Context: Found this candidate, but the arguments don't match.
    ParameterElementImpl({
    ^^^^^^^^^^^^^^^^^^^^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/form_generator.dart:854:55:
    Error: A value of type 'ClassElement' can't be assigned to a variable of type 'ElementImpl?'.
  • 'ClassElement' is from 'package:analyzer/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/element.dart').
  • 'ElementImpl' is from 'package:analyzer/src/dart/element/element.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/src/dart/element/element.dart').
    ..enclosingElement3 = element)
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/form_generator.dart:858:61:
    Error: The argument type 'List' can't be assigned to the parameter type 'List'.
  • 'List' is from 'dart:core'.
  • 'DartType' is from 'package:analyzer/dart/element/type.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/type.dart').
  • 'TypeImpl' is from 'package:analyzer/src/dart/element/type.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/src/dart/element/type.dart').
    typeArguments: element.thisType.typeArguments,
    ^
    ../../../../.puro/shared/pub_cache/git/reactive_forms_generator-e9d17f8d81e65c0569af09ce89ead6c136c20a88/packages/reactive_forms_generator/lib/src/form_generator.dart:865:63:
    Error: The argument type 'List' can't be assigned to the parameter type 'List'.
  • 'List' is from 'dart:core'.
  • 'DartType' is from 'package:analyzer/dart/element/type.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/dart/element/type.dart').
  • 'TypeImpl' is from 'package:analyzer/src/dart/element/type.dart' ('../../../../.puro/shared/pub_cache/hosted/pub.dev/analyzer-7.7.1/lib/src/dart/element/type.dart').
    typeArguments: element.thisType.typeArguments,
    ^
    Log overflowed the console, switching to line-by-line logging.
    E Failed to compile build script. Check builder definitions and generated script .dart_tool/build/entrypoint/build.dart.

Migrate to the new packages is needed for the new Flutter 3.35.x which uses Dart 3.9.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions