[go_router] Avoids using deprecated DartType.element2. (#2738)
diff --git a/packages/go_router_builder/CHANGELOG.md b/packages/go_router_builder/CHANGELOG.md
index 0fa3b48..13cb7d7 100644
--- a/packages/go_router_builder/CHANGELOG.md
+++ b/packages/go_router_builder/CHANGELOG.md
@@ -1,7 +1,11 @@
+## 1.0.15
+
+* Avoids using deprecated DartType.element2.
+
## 1.0.14
-* Bumps go_router version in example folder to v5.0.0
-* Bumps flutter version to 3.3.0
+* Bumps go_router version in example folder to v5.0.0.
+* Bumps flutter version to 3.3.0.
## 1.0.13
diff --git a/packages/go_router_builder/lib/src/route_config.dart b/packages/go_router_builder/lib/src/route_config.dart
index f058a2c..d58aac5 100644
--- a/packages/go_router_builder/lib/src/route_config.dart
+++ b/packages/go_router_builder/lib/src/route_config.dart
@@ -88,7 +88,10 @@
}
// TODO(kevmoo): validate that this MUST be a subtype of `GoRouteData`
- final InterfaceElement classElement = typeParamType.element2;
+ // TODO(stuartmorgan): Remove this ignore once 'analyze' can be set to
+ // 5.2+ (when Flutter 3.4+ is on stable).
+ // ignore: deprecated_member_use
+ final InterfaceElement classElement = typeParamType.element;
final RouteConfig value = RouteConfig._(path, classElement, parent);
@@ -142,7 +145,7 @@
void go(BuildContext context) => context.go(location, extra: this);
void push(BuildContext context) => context.push(location, extra: this);
-}
+}
''';
/// Returns this [RouteConfig] and all child [RouteConfig] instances.
@@ -363,11 +366,17 @@
String _enumMapConst(InterfaceType type) {
assert(type.isEnum);
- final String enumName = type.element2.name;
+ // TODO(stuartmorgan): Remove this ignore once 'analyze' can be set to
+ // 5.2+ (when Flutter 3.4+ is on stable).
+ // ignore: deprecated_member_use
+ final String enumName = type.element.name;
final StringBuffer buffer = StringBuffer('const ${enumMapName(type)} = {');
- for (final FieldElement enumField in type.element2.fields
+ // TODO(stuartmorgan): Remove this ignore once 'analyze' can be set to
+ // 5.2+ (when Flutter 3.4+ is on stable).
+ // ignore: deprecated_member_use
+ for (final FieldElement enumField in type.element.fields
.where((FieldElement element) => element.isEnumConstant)) {
buffer.writeln(
'$enumName.${enumField.name}: ${escapeDartString(enumField.name.kebab)},',
diff --git a/packages/go_router_builder/lib/src/type_helpers.dart b/packages/go_router_builder/lib/src/type_helpers.dart
index 8df633d..100452f 100644
--- a/packages/go_router_builder/lib/src/type_helpers.dart
+++ b/packages/go_router_builder/lib/src/type_helpers.dart
@@ -79,7 +79,10 @@
}
/// Gets the name of the `const` map generated to help encode [Enum] types.
-String enumMapName(InterfaceType type) => '_\$${type.element2.name}EnumMap';
+// TODO(stuartmorgan): Remove this ignore once 'analyze' can be set to
+// 5.2+ (when Flutter 3.4+ is on stable).
+// ignore: deprecated_member_use
+String enumMapName(InterfaceType type) => '_\$${type.element.name}EnumMap';
String _stateValueAccess(ParameterElement element) {
if (element.isRequired) {
diff --git a/packages/go_router_builder/pubspec.yaml b/packages/go_router_builder/pubspec.yaml
index 7f2388f..60a2c3e 100644
--- a/packages/go_router_builder/pubspec.yaml
+++ b/packages/go_router_builder/pubspec.yaml
@@ -2,7 +2,7 @@
description: >-
A builder that supports generated strongly-typed route helpers for
package:go_router
-version: 1.0.14
+version: 1.0.15
repository: https://github.com/flutter/packages/tree/main/packages/go_router_builder
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router_builder%22