Skip to content

Commit 71bb240

Browse files
committed
[go_router_builder] update analyzer, build and source_gen
1 parent 651c565 commit 71bb240

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(
@@ -941,7 +941,7 @@ $routeDataClassName.$dataConvertionFunctionName(
941941
String _enumMapConst(InterfaceType type) {
942942
assert(type.isEnum);
943943

944-
final String enumName = type.element.name;
944+
final String enumName = type.element.displayName;
945945

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

packages/go_router_builder/lib/src/type_helpers.dart

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -221,10 +221,11 @@ String compareField(
221221
}
222222

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

226227
/// Gets the name of the `const` map generated to help encode [Json] types.
227-
String jsonMapName(InterfaceType type) => type.element.name;
228+
String jsonMapName(InterfaceType type) => type.element.displayName;
228229

229230
String _stateValueAccess(
230231
FormalParameterElement element,
@@ -299,8 +300,10 @@ class _TypeHelperBigInt extends _TypeHelperWithHelper {
299300
);
300301

301302
@override
302-
bool _matchesType(DartType type) =>
303-
const TypeChecker.fromRuntime(BigInt).isAssignableFromType(type);
303+
bool _matchesType(DartType type) => const TypeChecker.typeNamed(
304+
BigInt,
305+
inSdk: true,
306+
).isAssignableFromType(type);
304307
}
305308

306309
class _TypeHelperBool extends _TypeHelperWithHelper {
@@ -339,8 +342,10 @@ class _TypeHelperDateTime extends _TypeHelperWithHelper {
339342
);
340343

341344
@override
342-
bool _matchesType(DartType type) =>
343-
const TypeChecker.fromRuntime(DateTime).isAssignableFromType(type);
345+
bool _matchesType(DartType type) => const TypeChecker.typeNamed(
346+
DateTime,
347+
inSdk: true,
348+
).isAssignableFromType(type);
344349
}
345350

346351
class _TypeHelperDouble extends _TypeHelperWithHelper {
@@ -469,14 +474,17 @@ class _TypeHelperExtensionType extends _TypeHelper {
469474
representationType.isDartCoreNum ||
470475
representationType.isDartCoreBool ||
471476
representationType.isEnum ||
472-
const TypeChecker.fromRuntime(
477+
const TypeChecker.typeNamed(
473478
BigInt,
479+
inSdk: true,
474480
).isAssignableFromType(representationType) ||
475-
const TypeChecker.fromRuntime(
481+
const TypeChecker.typeNamed(
476482
DateTime,
483+
inSdk: true,
477484
).isAssignableFromType(representationType) ||
478-
const TypeChecker.fromRuntime(
485+
const TypeChecker.typeNamed(
479486
Uri,
487+
inSdk: true,
480488
).isAssignableFromType(representationType);
481489
}
482490
}
@@ -563,7 +571,7 @@ class _TypeHelperUri extends _TypeHelperWithHelper {
563571

564572
@override
565573
bool _matchesType(DartType type) =>
566-
const TypeChecker.fromRuntime(Uri).isAssignableFromType(type);
574+
const TypeChecker.typeNamed(Uri, inSdk: true).isAssignableFromType(type);
567575
}
568576

569577
class _TypeHelperIterable extends _TypeHelperWithHelper {
@@ -603,16 +611,18 @@ class _TypeHelperIterable extends _TypeHelperWithHelper {
603611
// get correct type for iterable
604612
String iterableCaster = '';
605613
String fallBack = '';
606-
if (const TypeChecker.fromRuntime(
614+
if (const TypeChecker.typeNamed(
607615
List,
616+
inSdk: true,
608617
).isAssignableFromType(parameterElement.type)) {
609618
iterableCaster += '.toList()';
610619
if (!parameterElement.type.isNullableType &&
611620
!parameterElement.hasDefaultValue) {
612621
fallBack = '?? const []';
613622
}
614-
} else if (const TypeChecker.fromRuntime(
623+
} else if (const TypeChecker.typeNamed(
615624
Set,
625+
inSdk: true,
616626
).isAssignableFromType(parameterElement.type)) {
617627
iterableCaster += '.toSet()';
618628
if (!parameterElement.type.isNullableType &&
@@ -653,8 +663,10 @@ $fieldName$nullAwareAccess.map((e) => e.toString()).toList()''';
653663
}
654664

655665
@override
656-
bool _matchesType(DartType type) =>
657-
const TypeChecker.fromRuntime(Iterable).isAssignableFromType(type);
666+
bool _matchesType(DartType type) => const TypeChecker.typeNamed(
667+
Iterable,
668+
inSdk: true,
669+
).isAssignableFromType(type);
658670

659671
@override
660672
String _compare(String value1, String value2) =>
@@ -775,10 +787,10 @@ class _TypeHelperJson extends _TypeHelperWithHelper {
775787
}
776788

777789
final FunctionType functionType = secondParam.type as FunctionType;
778-
if (functionType.parameters.length != 1 ||
790+
if (functionType.formalParameters.length != 1 ||
779791
functionType.returnType.getDisplayString() !=
780-
type.element.typeParameters.first.getDisplayString() ||
781-
functionType.parameters[0].type.getDisplayString() != 'Object?') {
792+
type.element.typeParameters.first.displayName ||
793+
functionType.formalParameters[0].type.getDisplayString() != 'Object?') {
782794
throw InvalidGenerationSourceError(
783795
'The parameter type '
784796
'`${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)