Migreer analyzer 12 → 13 (AST API-wijzigingen in check_hardcoded_text.dart en import_note_l10n_test.dart) #1738

Closed
opened 2026-08-23 08:31:45 +00:00 by brenno · 0 comments
Owner

Achtergrond

Tijdens de Flutter 3.47.1-versie-bumps (#1736, PR #1737) is onderzocht welke dependencies een veilige bump konden hebben. De analyzer dev-dependency (^12.1.0 → ^13.3.0) viel af: de AST API is veranderd in analyzer 13, wat twee bestanden breekt.

Wat breekt

flutter analyze --fatal-infos geeft 11 fouten tegen analyzer 13.3.0:

tool/check_hardcoded_text.dart

  • DefaultFormalParameter is niet meer gedefinieerd — is-expressie faalt (regel 879)
  • NamedExpression is niet meer gedefinieerd — is-expressie faalt (regel 1037)
  • Argument.name en Argument.expression getters bestaan niet meer (regels 1038, 1039)
  • Argument kan niet meer aan Expression worden toegewezen (regel 1042)
  • Dead code-warnings op de nu-onbereikbaar geworden takken

test/import_note_l10n_test.dart

  • NamedExpression is niet meer gedefinieerd (regel 125)
  • visitNamedExpression bestaat niet in de superclass van _NoteVisitor (regel 129)
  • override annotation wijst naar een niet-bestaande override (regel 125)

Wat er moet gebeuren

De AST-walkers in beide bestanden moeten worden gemigreerd naar de analyzer 13 API. De belangrijkste wijzigingen:

  • Argument is geen Expression meer — gebruik Argument.expression om de onderliggende expressie te bereiken (maar de getter heet mogelijk anders in 13).
  • NamedExpression en DefaultFormalParameter zijn hernoemd of verwijderd — de nieuwe namen moeten worden opgezocht in de analyzer 13 changelog of de AST-bron.

Na de migratie:

  1. analyzer: ^13.3.0 in pubspec.yaml.
  2. flutter pub get + make sbom.
  3. make check groen.
  4. PR, merge, issue sluiten.

Waarom niet in #1736

#1736 was een safe-bump batch. Deze migratie raakt tooling en tests met AST-afhankelijke code — geen safe bump, maar een bewuste codewijziging die apart gereviewd moet worden.

Afhankelijkheden

Geen. Dit kan onafhankelijk van de file_picker 12-migratie of de win32 6.x-bumps landen.

## Achtergrond Tijdens de Flutter 3.47.1-versie-bumps (#1736, PR #1737) is onderzocht welke dependencies een veilige bump konden hebben. De `analyzer` dev-dependency (^12.1.0 → ^13.3.0) viel af: de AST API is veranderd in analyzer 13, wat twee bestanden breekt. ## Wat breekt `flutter analyze --fatal-infos` geeft 11 fouten tegen analyzer 13.3.0: ### `tool/check_hardcoded_text.dart` - `DefaultFormalParameter` is niet meer gedefinieerd — `is`-expressie faalt (regel 879) - `NamedExpression` is niet meer gedefinieerd — `is`-expressie faalt (regel 1037) - `Argument.name` en `Argument.expression` getters bestaan niet meer (regels 1038, 1039) - `Argument` kan niet meer aan `Expression` worden toegewezen (regel 1042) - Dead code-warnings op de nu-onbereikbaar geworden takken ### `test/import_note_l10n_test.dart` - `NamedExpression` is niet meer gedefinieerd (regel 125) - `visitNamedExpression` bestaat niet in de superclass van `_NoteVisitor` (regel 129) - `override` annotation wijst naar een niet-bestaande override (regel 125) ## Wat er moet gebeuren De AST-walkers in beide bestanden moeten worden gemigreerd naar de analyzer 13 API. De belangrijkste wijzigingen: - `Argument` is geen `Expression` meer — gebruik `Argument.expression` om de onderliggende expressie te bereiken (maar de getter heet mogelijk anders in 13). - `NamedExpression` en `DefaultFormalParameter` zijn hernoemd of verwijderd — de nieuwe namen moeten worden opgezocht in de [analyzer 13 changelog](https://pub.dev/packages/analyzer/changelog) of de AST-bron. Na de migratie: 1. `analyzer: ^13.3.0` in `pubspec.yaml`. 2. `flutter pub get` + `make sbom`. 3. `make check` groen. 4. PR, merge, issue sluiten. ## Waarom niet in #1736 #1736 was een safe-bump batch. Deze migratie raakt tooling en tests met AST-afhankelijke code — geen safe bump, maar een bewuste codewijziging die apart gereviewd moet worden. ## Afhankelijkheden Geen. Dit kan onafhankelijk van de `file_picker` 12-migratie of de `win32 6.x`-bumps landen.
brenno 2026-08-23 16:56:56 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1738
No description provided.