Skip to content

Commit d0c53b9

Browse files
authored
Change all late final Iterable fields to Lists (#3649)
1 parent 8c9c779 commit d0c53b9

8 files changed

+55
-53
lines changed

lib/src/element_type.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ class ParameterizedElementType extends DefinedElementType with Rendered {
220220
packageGraph.rendererFactory.parameterizedElementTypeRenderer;
221221

222222
@override
223-
late final Iterable<ElementType> typeArguments = type.typeArguments
223+
late final List<ElementType> typeArguments = type.typeArguments
224224
.map((f) => modelBuilder.typeFrom(f, library))
225225
.toList(growable: false);
226226
}
@@ -238,7 +238,7 @@ mixin Aliased implements ElementType, ModelBuilderInterface {
238238
late final ModelElement aliasElement =
239239
modelBuilder.fromElement(typeAliasElement);
240240

241-
late final Iterable<ElementType> aliasArguments = type.alias!.typeArguments
241+
late final List<ElementType> aliasArguments = type.alias!.typeArguments
242242
.map((f) => modelBuilder.typeFrom(f, library))
243243
.toList(growable: false);
244244
}
@@ -422,7 +422,7 @@ class CallableElementType extends DefinedElementType with Rendered, Callable {
422422
packageGraph.rendererFactory.callableElementTypeRenderer;
423423

424424
@override
425-
late final Iterable<ElementType> typeArguments = type.alias?.typeArguments
425+
late final List<ElementType> typeArguments = type.alias?.typeArguments
426426
.map((f) => modelBuilder.typeFrom(f, library))
427427
.toList(growable: false) ??
428428
const [];

lib/src/generator/templates.runtime_renderers.dart

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2121,7 +2121,7 @@ class _Renderer_Constructable extends RendererBase<Constructable> {
21212121
renderVariable: (CT_ c, Property<CT_> self,
21222122
List<String> remainingNames) =>
21232123
self.renderSimpleVariable(
2124-
c, remainingNames, 'Iterable<Constructor>'),
2124+
c, remainingNames, 'List<Constructor>'),
21252125
renderIterable: (CT_ c, RendererBase<CT_> r,
21262126
List<MustachioNode> ast, StringSink sink) {
21272127
return c.constructors.map((e) => _render_Constructor(
@@ -2913,7 +2913,7 @@ class _Renderer_Container extends RendererBase<Container> {
29132913
renderVariable: (CT_ c, Property<CT_> self,
29142914
List<String> remainingNames) =>
29152915
self.renderSimpleVariable(
2916-
c, remainingNames, 'Iterable<Operator>'),
2916+
c, remainingNames, 'List<Operator>'),
29172917
renderIterable: (CT_ c, RendererBase<CT_> r,
29182918
List<MustachioNode> ast, StringSink sink) {
29192919
return c.declaredOperators.map((e) =>
@@ -4684,7 +4684,7 @@ class _Renderer_Enum extends RendererBase<Enum> {
46844684
renderVariable: (CT_ c, Property<CT_> self,
46854685
List<String> remainingNames) =>
46864686
self.renderSimpleVariable(
4687-
c, remainingNames, 'Iterable<Field>'),
4687+
c, remainingNames, 'List<Field>'),
46884688
renderIterable: (CT_ c, RendererBase<CT_> r,
46894689
List<MustachioNode> ast, StringSink sink) {
46904690
return c.publicEnumValues.map((e) =>
@@ -7444,7 +7444,7 @@ class _Renderer_InheritingContainer extends RendererBase<InheritingContainer> {
74447444
renderVariable: (CT_ c, Property<CT_> self,
74457445
List<String> remainingNames) =>
74467446
self.renderSimpleVariable(
7447-
c, remainingNames, 'Iterable<Method>'),
7447+
c, remainingNames, 'List<Method>'),
74487448
renderIterable: (CT_ c, RendererBase<CT_> r,
74497449
List<MustachioNode> ast, StringSink sink) {
74507450
return c.declaredMethods.map((e) =>
@@ -8235,7 +8235,7 @@ class _Renderer_Library extends RendererBase<Library> {
82358235
renderVariable: (CT_ c, Property<CT_> self,
82368236
List<String> remainingNames) =>
82378237
self.renderSimpleVariable(
8238-
c, remainingNames, 'Iterable<String>'),
8238+
c, remainingNames, 'List<String>'),
82398239
renderIterable: (CT_ c, RendererBase<CT_> r,
82408240
List<MustachioNode> ast, StringSink sink) {
82418241
return c.allOriginalModelElementNames.map((e) =>
@@ -8449,7 +8449,7 @@ class _Renderer_Library extends RendererBase<Library> {
84498449
renderVariable: (CT_ c, Property<CT_> self,
84508450
List<String> remainingNames) =>
84518451
self.renderSimpleVariable(
8452-
c, remainingNames, 'Iterable<ExtensionType>'),
8452+
c, remainingNames, 'List<ExtensionType>'),
84538453
renderIterable: (CT_ c, RendererBase<CT_> r,
84548454
List<MustachioNode> ast, StringSink sink) {
84558455
return c.extensionTypes.map((e) => _render_ExtensionType(
@@ -8462,7 +8462,7 @@ class _Renderer_Library extends RendererBase<Library> {
84628462
renderVariable: (CT_ c, Property<CT_> self,
84638463
List<String> remainingNames) =>
84648464
self.renderSimpleVariable(
8465-
c, remainingNames, 'Iterable<Extension>'),
8465+
c, remainingNames, 'List<Extension>'),
84668466
renderIterable: (CT_ c, RendererBase<CT_> r,
84678467
List<MustachioNode> ast, StringSink sink) {
84688468
return c.extensions.map((e) =>
@@ -8688,7 +8688,7 @@ class _Renderer_Library extends RendererBase<Library> {
86888688
renderVariable: (CT_ c, Property<CT_> self,
86898689
List<String> remainingNames) =>
86908690
self.renderSimpleVariable(
8691-
c, remainingNames, 'Iterable<TopLevelVariable>'),
8691+
c, remainingNames, 'List<TopLevelVariable>'),
86928692
renderIterable: (CT_ c, RendererBase<CT_> r,
86938693
List<MustachioNode> ast, StringSink sink) {
86948694
return c.properties.map((e) => _render_TopLevelVariable(
@@ -13126,7 +13126,7 @@ class _Renderer_ParameterizedElementType
1312613126
renderVariable: (CT_ c, Property<CT_> self,
1312713127
List<String> remainingNames) =>
1312813128
self.renderSimpleVariable(
13129-
c, remainingNames, 'Iterable<ElementType>'),
13129+
c, remainingNames, 'List<ElementType>'),
1313013130
renderIterable: (CT_ c, RendererBase<CT_> r,
1313113131
List<MustachioNode> ast, StringSink sink) {
1313213132
return c.typeArguments.map((e) => _render_ElementType(
@@ -14471,7 +14471,7 @@ class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> {
1447114471
renderVariable: (CT_ c, Property<CT_> self,
1447214472
List<String> remainingNames) =>
1447314473
self.renderSimpleVariable(
14474-
c, remainingNames, 'Iterable<Container>'),
14474+
c, remainingNames, 'List<Container>'),
1447514475
renderIterable: (CT_ c, RendererBase<CT_> r,
1447614476
List<MustachioNode> ast, StringSink sink) {
1447714477
return c.publicClassesSorted.map((e) =>
@@ -14521,7 +14521,7 @@ class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> {
1452114521
renderVariable: (CT_ c, Property<CT_> self,
1452214522
List<String> remainingNames) =>
1452314523
self.renderSimpleVariable(
14524-
c, remainingNames, 'Iterable<Enum>'),
14524+
c, remainingNames, 'List<Enum>'),
1452514525
renderIterable: (CT_ c, RendererBase<CT_> r,
1452614526
List<MustachioNode> ast, StringSink sink) {
1452714527
return c.publicEnumsSorted.map((e) =>
@@ -14533,7 +14533,7 @@ class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> {
1453314533
renderVariable: (CT_ c, Property<CT_> self,
1453414534
List<String> remainingNames) =>
1453514535
self.renderSimpleVariable(
14536-
c, remainingNames, 'Iterable<Class>'),
14536+
c, remainingNames, 'List<Class>'),
1453714537
renderIterable: (CT_ c, RendererBase<CT_> r,
1453814538
List<MustachioNode> ast, StringSink sink) {
1453914539
return c.publicExceptionsSorted.map((e) =>
@@ -14558,7 +14558,7 @@ class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> {
1455814558
renderVariable: (CT_ c, Property<CT_> self,
1455914559
List<String> remainingNames) =>
1456014560
self.renderSimpleVariable(
14561-
c, remainingNames, 'Iterable<ExtensionType>'),
14561+
c, remainingNames, 'List<ExtensionType>'),
1456214562
renderIterable: (CT_ c, RendererBase<CT_> r,
1456314563
List<MustachioNode> ast, StringSink sink) {
1456414564
return c.publicExtensionTypesSorted.map((e) =>
@@ -14583,7 +14583,7 @@ class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> {
1458314583
renderVariable: (CT_ c, Property<CT_> self,
1458414584
List<String> remainingNames) =>
1458514585
self.renderSimpleVariable(
14586-
c, remainingNames, 'Iterable<Extension>'),
14586+
c, remainingNames, 'List<Extension>'),
1458714587
renderIterable: (CT_ c, RendererBase<CT_> r,
1458814588
List<MustachioNode> ast, StringSink sink) {
1458914589
return c.publicExtensionsSorted.map((e) =>
@@ -14608,7 +14608,7 @@ class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> {
1460814608
renderVariable: (CT_ c, Property<CT_> self,
1460914609
List<String> remainingNames) =>
1461014610
self.renderSimpleVariable(
14611-
c, remainingNames, 'Iterable<ModelFunctionTyped>'),
14611+
c, remainingNames, 'List<ModelFunctionTyped>'),
1461214612
renderIterable: (CT_ c, RendererBase<CT_> r,
1461314613
List<MustachioNode> ast, StringSink sink) {
1461414614
return c.publicFunctionsSorted.map((e) =>
@@ -14633,7 +14633,7 @@ class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> {
1463314633
renderVariable: (CT_ c, Property<CT_> self,
1463414634
List<String> remainingNames) =>
1463514635
self.renderSimpleVariable(
14636-
c, remainingNames, 'Iterable<Mixin>'),
14636+
c, remainingNames, 'List<Mixin>'),
1463714637
renderIterable: (CT_ c, RendererBase<CT_> r,
1463814638
List<MustachioNode> ast, StringSink sink) {
1463914639
return c.publicMixinsSorted.map((e) =>
@@ -14658,7 +14658,7 @@ class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> {
1465814658
renderVariable: (CT_ c, Property<CT_> self,
1465914659
List<String> remainingNames) =>
1466014660
self.renderSimpleVariable(
14661-
c, remainingNames, 'Iterable<TopLevelVariable>'),
14661+
c, remainingNames, 'List<TopLevelVariable>'),
1466214662
renderIterable: (CT_ c, RendererBase<CT_> r,
1466314663
List<MustachioNode> ast, StringSink sink) {
1466414664
return c.publicPropertiesSorted.map((e) =>
@@ -14683,7 +14683,7 @@ class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> {
1468314683
renderVariable: (CT_ c, Property<CT_> self,
1468414684
List<String> remainingNames) =>
1468514685
self.renderSimpleVariable(
14686-
c, remainingNames, 'Iterable<Typedef>'),
14686+
c, remainingNames, 'List<Typedef>'),
1468714687
renderIterable: (CT_ c, RendererBase<CT_> r,
1468814688
List<MustachioNode> ast, StringSink sink) {
1468914689
return c.publicTypedefsSorted.map((e) =>

lib/src/model/container.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ abstract class Container extends ModelElement
105105
publicInstanceMethods.toList(growable: false)..sort();
106106

107107
@nonVirtual
108-
late final Iterable<Operator> declaredOperators =
108+
late final List<Operator> declaredOperators =
109109
declaredMethods.whereType<Operator>().toList(growable: false);
110110

111111
@override

lib/src/model/enum.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ class Enum extends InheritingContainer
4848
declaredFields.where((f) => f is! EnumField && f.isConst);
4949

5050
@override
51-
late final Iterable<Field> publicEnumValues =
52-
model_utils.filterNonPublic(allFields).whereType<EnumField>();
51+
late final List<Field> publicEnumValues = model_utils
52+
.filterNonPublic(allFields.whereType<EnumField>())
53+
.toList(growable: false);
5354

5455
@override
5556
bool get hasPublicEnumValues => publicEnumValues.isNotEmpty;

lib/src/model/inheriting_container.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import 'package:meta/meta.dart';
1919
/// Note that [Constructor]s are not considered to be modifiers so a
2020
/// [hasModifiers] override is not necessary for this mixin.
2121
mixin Constructable on InheritingContainer {
22-
late final Iterable<Constructor> constructors = element.constructors
22+
late final List<Constructor> constructors = element.constructors
2323
.map((e) => modelBuilder.from(e, library) as Constructor)
2424
.toList(growable: false);
2525

@@ -246,8 +246,9 @@ abstract class InheritingContainer extends Container
246246
}
247247

248248
@override
249-
late final Iterable<Method> declaredMethods =
250-
element.methods.map((e) => modelBuilder.from(e, library) as Method);
249+
late final List<Method> declaredMethods = element.methods
250+
.map((e) => modelBuilder.from(e, library) as Method)
251+
.toList(growable: false);
251252

252253
@override
253254
late final List<TypeParameter> typeParameters = element.typeParameters

lib/src/model/library.dart

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ class Library extends ModelElement
102102
/// documented with this library, but these ModelElements and names correspond
103103
/// to the defining library where each originally came from with respect
104104
/// to inheritance and reexporting. Most useful for error reporting.
105-
late final Iterable<String> allOriginalModelElementNames =
105+
late final List<String> allOriginalModelElementNames =
106106
allModelElements.map((e) {
107107
if (e is GetterSetterCombo) {
108108
Accessor? getter;
@@ -142,13 +142,13 @@ class Library extends ModelElement
142142
Iterable<Class> get classes => allClasses.where((c) => !c.isErrorOrException);
143143

144144
@override
145-
late final Iterable<Extension> extensions = _exportedAndLocalElements
145+
late final List<Extension> extensions = _exportedAndLocalElements
146146
.whereType<ExtensionElement>()
147147
.map((e) => modelBuilder.from(e, this) as Extension)
148148
.toList(growable: false);
149149

150150
@override
151-
late final Iterable<ExtensionType> extensionTypes = _exportedAndLocalElements
151+
late final List<ExtensionType> extensionTypes = _exportedAndLocalElements
152152
.whereType<ExtensionTypeElement>()
153153
.map((e) => modelBuilder.from(e, this) as ExtensionType)
154154
.toList(growable: false);
@@ -331,16 +331,16 @@ class Library extends ModelElement
331331
// This code should not be used for Dart SDK libraries.
332332
assert(!element.source.uri.isScheme('dart'));
333333
var fullName = element.source.fullName;
334-
if (!pathContext.isWithin(fullName, package.packagePath) &&
335-
package.packagePath.contains('/google3/')) {
336-
// In google3, `fullName` is specified as if the root of google3 was `/`.
337-
// And `package.packagePath` contains the true google3 root.
338-
var root = pathContext
339-
.joinAll(pathContext.split(package.packagePath)..removeLast());
340-
fullName = '$root$fullName';
341-
}
342-
var relativePath =
343-
pathContext.relative(fullName, from: package.packagePath);
334+
if (!pathContext.isWithin(fullName, package.packagePath) &&
335+
package.packagePath.contains('/google3/')) {
336+
// In google3, `fullName` is specified as if the root of google3 was `/`.
337+
// And `package.packagePath` contains the true google3 root.
338+
var root = pathContext
339+
.joinAll(pathContext.split(package.packagePath)..removeLast());
340+
fullName = '$root$fullName';
341+
}
342+
var relativePath =
343+
pathContext.relative(fullName, from: package.packagePath);
344344
assert(relativePath.startsWith('lib${pathContext.separator}'));
345345
const libDirectoryLength = 'lib/'.length;
346346
return relativePath.substring(libDirectoryLength);
@@ -355,7 +355,7 @@ class Library extends ModelElement
355355

356356
/// All variables ("properties") except constants.
357357
@override
358-
late final Iterable<TopLevelVariable> properties =
358+
late final List<TopLevelVariable> properties =
359359
_variables.where((v) => !v.isConst).toList(growable: false);
360360

361361
@override

lib/src/model/package_graph.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ class PackageGraph with CommentReferable, Nameable, ModelBuilder {
631631
}
632632

633633
@visibleForTesting
634-
late final Iterable<Library> libraries =
634+
late final List<Library> libraries =
635635
packages.expand((p) => p.libraries).toList(growable: false)..sort();
636636

637637
int get libraryCount => libraries.length;
@@ -905,7 +905,7 @@ class PackageGraph with CommentReferable, Nameable, ModelBuilder {
905905
return allElements;
906906
}
907907

908-
late final Iterable<ModelElement> allLocalModelElements = [
908+
late final List<ModelElement> allLocalModelElements = [
909909
for (var library in _localLibraries) ...library.allModelElements
910910
];
911911

lib/src/model/top_level_container.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,19 @@ mixin TopLevelContainer implements Nameable {
5757
// TODO(jcollins-g): Setting this type parameter to `Container` magically
5858
// fixes a number of type problems in the AOT compiler, but I am mystified as
5959
// to why that should be the case.
60-
late final Iterable<Container> publicClassesSorted =
60+
late final List<Container> publicClassesSorted =
6161
publicClasses.toList(growable: false)..sort();
6262

6363
Iterable<Extension> get publicExtensions =>
6464
model_utils.filterNonPublic(extensions);
6565

66-
late final Iterable<Extension> publicExtensionsSorted =
66+
late final List<Extension> publicExtensionsSorted =
6767
publicExtensions.toList(growable: false)..sort();
6868

6969
Iterable<ExtensionType> get publicExtensionTypes =>
7070
model_utils.filterNonPublic(extensionTypes);
7171

72-
late final Iterable<ExtensionType> publicExtensionTypesSorted =
72+
late final List<ExtensionType> publicExtensionTypesSorted =
7373
publicExtensionTypes.toList(growable: false)..sort();
7474

7575
Iterable<TopLevelVariable> get publicConstants =>
@@ -80,34 +80,34 @@ mixin TopLevelContainer implements Nameable {
8080

8181
Iterable<Enum> get publicEnums => model_utils.filterNonPublic(enums);
8282

83-
late final Iterable<Enum> publicEnumsSorted =
84-
publicEnums.toList(growable: false)..sort();
83+
late final List<Enum> publicEnumsSorted = publicEnums.toList(growable: false)
84+
..sort();
8585

8686
Iterable<Class> get _publicExceptions =>
8787
model_utils.filterNonPublic(exceptions);
8888

89-
late final Iterable<Class> publicExceptionsSorted =
89+
late final List<Class> publicExceptionsSorted =
9090
_publicExceptions.toList(growable: false)..sort();
9191

9292
Iterable<ModelFunctionTyped> get publicFunctions =>
9393
model_utils.filterNonPublic(functions!);
9494

95-
late final Iterable<ModelFunctionTyped> publicFunctionsSorted =
95+
late final List<ModelFunctionTyped> publicFunctionsSorted =
9696
publicFunctions.toList(growable: false)..sort();
9797

9898
Iterable<Mixin> get publicMixins => model_utils.filterNonPublic(mixins);
9999

100-
late final Iterable<Mixin> publicMixinsSorted =
100+
late final List<Mixin> publicMixinsSorted =
101101
publicMixins.toList(growable: false)..sort();
102102

103103
Iterable<TopLevelVariable> get publicProperties =>
104104
model_utils.filterNonPublic(properties);
105105

106-
late final Iterable<TopLevelVariable> publicPropertiesSorted =
106+
late final List<TopLevelVariable> publicPropertiesSorted =
107107
publicProperties.toList(growable: false)..sort();
108108

109109
Iterable<Typedef> get publicTypedefs => model_utils.filterNonPublic(typedefs);
110110

111-
late final Iterable<Typedef> publicTypedefsSorted =
111+
late final List<Typedef> publicTypedefsSorted =
112112
publicTypedefs.toList(growable: false)..sort();
113113
}

0 commit comments

Comments
 (0)