[go_router_builder]update analyzer to 4.4.0 (#2429)

Update the analyzer to 4.4.0 as minimum version and remove the usage of deprecated APIs.

Co-authored-by: stuartmorgan <stuartmorgan@google.com>
diff --git a/packages/go_router_builder/CHANGELOG.md b/packages/go_router_builder/CHANGELOG.md
index f953fc0..fe290f8 100644
--- a/packages/go_router_builder/CHANGELOG.md
+++ b/packages/go_router_builder/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 1.0.8
+
+* Updates `analyzer` to 4.4.0.
+* Removes the usage of deprecated API in `analyzer`.
+
 ## 1.0.7
 
 * Supports newer versions of `analyzer`.
diff --git a/packages/go_router_builder/lib/src/route_config.dart b/packages/go_router_builder/lib/src/route_config.dart
index 76aa515..47e1b52 100644
--- a/packages/go_router_builder/lib/src/route_config.dart
+++ b/packages/go_router_builder/lib/src/route_config.dart
@@ -44,7 +44,7 @@
   /// Creates a new [RouteConfig] represented the annotation data in [reader].
   factory RouteConfig.fromAnnotation(
     ConstantReader reader,
-    ClassElement element,
+    InterfaceElement element,
   ) {
     final RouteConfig definition =
         RouteConfig._fromAnnotation(reader, element, null);
@@ -62,7 +62,7 @@
 
   factory RouteConfig._fromAnnotation(
     ConstantReader reader,
-    ClassElement element,
+    InterfaceElement element,
     RouteConfig? parent,
   ) {
     assert(!reader.isNull, 'reader should not be null');
@@ -88,7 +88,7 @@
     }
 
     // TODO(kevmoo): validate that this MUST be a subtype of `GoRouteData`
-    final ClassElement classElement = typeParamType.element;
+    final InterfaceElement classElement = typeParamType.element2;
 
     final RouteConfig value = RouteConfig._(path, classElement, parent);
 
@@ -100,7 +100,7 @@
 
   final List<RouteConfig> _children = <RouteConfig>[];
   final String _path;
-  final ClassElement _routeDataClass;
+  final InterfaceElement _routeDataClass;
   final RouteConfig? _parent;
 
   /// Generates all of the members that correspond to `this`.
@@ -363,11 +363,11 @@
 String _enumMapConst(InterfaceType type) {
   assert(type.isEnum);
 
-  final String enumName = type.element.name;
+  final String enumName = type.element2.name;
 
   final StringBuffer buffer = StringBuffer('const ${enumMapName(type)} = {');
 
-  for (final FieldElement enumField in type.element.fields
+  for (final FieldElement enumField in type.element2.fields
       .where((FieldElement element) => !element.isSynthetic)) {
     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 35568e7..8df633d 100644
--- a/packages/go_router_builder/lib/src/type_helpers.dart
+++ b/packages/go_router_builder/lib/src/type_helpers.dart
@@ -79,7 +79,7 @@
 }
 
 /// Gets the name of the `const` map generated to help encode [Enum] types.
-String enumMapName(InterfaceType type) => '_\$${type.element.name}EnumMap';
+String enumMapName(InterfaceType type) => '_\$${type.element2.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 70d8a43..420e0a9 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.7
+version: 1.0.8
 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
 
@@ -11,7 +11,7 @@
   flutter: ">=3.0.0"
 
 dependencies:
-  analyzer: '>=2.7.0 <5.0.0'
+  analyzer: '>=4.4.0 <5.0.0'
   async: ^2.8.0
   build: ^2.0.0
   build_config: ^1.0.0