[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