Skip to content

Commit 3d2b252

Browse files
committed
[go_router_builder] update analyzer, build and source_gen
1 parent 0b41de3 commit 3d2b252

File tree

4 files changed

+41
-23
lines changed

4 files changed

+41
-23
lines changed

packages/go_router_builder/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 4.1.1
2+
3+
- Allow `analyzer: '>=7.4.0 <9.0.0'`.
4+
- Allow `build: '>=3.0.0 <5.0.0'`.
5+
- Allow `source_gen: '>=3.1.0 <5.0.0'`.
6+
17
## 4.1.0
28

39
- Adds support for classes that support fromJson/toJson. [#117261](https://github.com/flutter/flutter/issues/117261)

packages/go_router_builder/lib/src/route_config.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,7 @@ abstract class RouteBaseConfig {
623623
}) {
624624
assert(!reader.isNull, 'reader should not be null');
625625
final InterfaceType type = reader.objectValue.type! as InterfaceType;
626-
final String typeName = type.element.name;
626+
final String typeName = type.element.displayName;
627627

628628
if (isAncestorRelative && typeName == 'TypedGoRoute') {
629629
throw InvalidGenerationSourceError(
@@ -942,7 +942,7 @@ $routeDataClassName.$dataConvertionFunctionName(
942942
String _enumMapConst(InterfaceType type) {
943943
assert(type.isEnum);
944944

945-
final String enumName = type.element.name;
945+
final String enumName = type.element.displayName;
946946

947947
final StringBuffer buffer = StringBuffer('const ${enumMapName(type)} = {');
948948

packages/go_router_builder/lib/src/type_helpers.dart

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,11 @@ String compareField(
224224
}
225225

226226
/// Gets the name of the `const` map generated to help encode [Enum] types.
227-
String enumMapName(InterfaceType type) => '_\$${type.element.name}EnumMap';
227+
String enumMapName(InterfaceType type) =>
228+
'_\$${type.element.displayName}EnumMap';
228229

229230
/// Gets the name of the `const` map generated to help encode [Json] types.
230-
String jsonMapName(InterfaceType type) => type.element.name;
231+
String jsonMapName(InterfaceType type) => type.element.displayName;
231232

232233
String _stateValueAccess(
233234
FormalParameterElement element,
@@ -302,8 +303,10 @@ class _TypeHelperBigInt extends _TypeHelperWithHelper {
302303
);
303304

304305
@override
305-
bool _matchesType(DartType type) =>
306-
const TypeChecker.fromRuntime(BigInt).isAssignableFromType(type);
306+
bool _matchesType(DartType type) => const TypeChecker.typeNamed(
307+
BigInt,
308+
inSdk: true,
309+
).isAssignableFromType(type);
307310
}
308311

309312
class _TypeHelperBool extends _TypeHelperWithHelper {
@@ -342,8 +345,10 @@ class _TypeHelperDateTime extends _TypeHelperWithHelper {
342345
);
343346

344347
@override
345-
bool _matchesType(DartType type) =>
346-
const TypeChecker.fromRuntime(DateTime).isAssignableFromType(type);
348+
bool _matchesType(DartType type) => const TypeChecker.typeNamed(
349+
DateTime,
350+
inSdk: true,
351+
).isAssignableFromType(type);
347352
}
348353

349354
class _TypeHelperDouble extends _TypeHelperWithHelper {
@@ -472,14 +477,17 @@ class _TypeHelperExtensionType extends _TypeHelper {
472477
representationType.isDartCoreNum ||
473478
representationType.isDartCoreBool ||
474479
representationType.isEnum ||
475-
const TypeChecker.fromRuntime(
480+
const TypeChecker.typeNamed(
476481
BigInt,
482+
inSdk: true,
477483
).isAssignableFromType(representationType) ||
478-
const TypeChecker.fromRuntime(
484+
const TypeChecker.typeNamed(
479485
DateTime,
486+
inSdk: true,
480487
).isAssignableFromType(representationType) ||
481-
const TypeChecker.fromRuntime(
488+
const TypeChecker.typeNamed(
482489
Uri,
490+
inSdk: true,
483491
).isAssignableFromType(representationType);
484492
}
485493
}
@@ -566,7 +574,7 @@ class _TypeHelperUri extends _TypeHelperWithHelper {
566574

567575
@override
568576
bool _matchesType(DartType type) =>
569-
const TypeChecker.fromRuntime(Uri).isAssignableFromType(type);
577+
const TypeChecker.typeNamed(Uri, inSdk: true).isAssignableFromType(type);
570578
}
571579

572580
class _TypeHelperIterable extends _TypeHelperWithHelper {
@@ -606,16 +614,18 @@ class _TypeHelperIterable extends _TypeHelperWithHelper {
606614
// get correct type for iterable
607615
String iterableCaster = '';
608616
String fallBack = '';
609-
if (const TypeChecker.fromRuntime(
617+
if (const TypeChecker.typeNamed(
610618
List,
619+
inSdk: true,
611620
).isAssignableFromType(parameterElement.type)) {
612621
iterableCaster += '.toList()';
613622
if (!parameterElement.type.isNullableType &&
614623
!parameterElement.hasDefaultValue) {
615624
fallBack = '?? const []';
616625
}
617-
} else if (const TypeChecker.fromRuntime(
626+
} else if (const TypeChecker.typeNamed(
618627
Set,
628+
inSdk: true,
619629
).isAssignableFromType(parameterElement.type)) {
620630
iterableCaster += '.toSet()';
621631
if (!parameterElement.type.isNullableType &&
@@ -656,8 +666,10 @@ $fieldName$nullAwareAccess.map((e) => e.toString()).toList()''';
656666
}
657667

658668
@override
659-
bool _matchesType(DartType type) =>
660-
const TypeChecker.fromRuntime(Iterable).isAssignableFromType(type);
669+
bool _matchesType(DartType type) => const TypeChecker.typeNamed(
670+
Iterable,
671+
inSdk: true,
672+
).isAssignableFromType(type);
661673

662674
@override
663675
String _compare(String value1, String value2) =>
@@ -783,10 +795,10 @@ class _TypeHelperJson extends _TypeHelperWithHelper {
783795
}
784796

785797
final FunctionType functionType = secondParam.type as FunctionType;
786-
if (functionType.parameters.length != 1 ||
798+
if (functionType.formalParameters.length != 1 ||
787799
functionType.returnType.getDisplayString() !=
788-
type.element.typeParameters.first.getDisplayString() ||
789-
functionType.parameters[0].type.getDisplayString() != 'Object?') {
800+
type.element.typeParameters.first.displayName ||
801+
functionType.formalParameters[0].type.getDisplayString() != 'Object?') {
790802
throw InvalidGenerationSourceError(
791803
'The parameter type '
792804
'`${type.getDisplayString(withNullability: false)}` not have a supported fromJson definition.',

packages/go_router_builder/pubspec.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: go_router_builder
22
description: >-
33
A builder that supports generated strongly-typed route helpers for
44
package:go_router
5-
version: 4.1.0
5+
version: 4.1.1
66
repository: https://github.com/flutter/packages/tree/main/packages/go_router_builder
77
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router_builder%22
88

@@ -11,14 +11,14 @@ environment:
1111
flutter: ">=3.29.0"
1212

1313
dependencies:
14-
analyzer: ">=7.4.0 <8.0.0"
14+
analyzer: ">=7.4.0 <9.0.0"
1515
async: ^2.8.0
16-
build: ^3.0.0
16+
build: ">=3.0.0 <5.0.0"
1717
build_config: ^1.0.0
1818
collection: ^1.14.0
1919
meta: ^1.7.0
2020
path: ^1.8.0
21-
source_gen: ^3.0.0
21+
source_gen: ">=3.1.0 <5.0.0"
2222
source_helper: ^1.3.4
2323

2424
dev_dependencies:

0 commit comments

Comments
 (0)