@@ -28,6 +28,7 @@ class ClassItem extends InterfaceItem<ClassElementImpl> {
28
28
required super .id,
29
29
required super .metadata,
30
30
required super .typeParameters,
31
+ required super .isSimplyBounded,
31
32
required super .declaredConflicts,
32
33
required super .declaredFields,
33
34
required super .declaredGetters,
@@ -58,6 +59,7 @@ class ClassItem extends InterfaceItem<ClassElementImpl> {
58
59
id: id,
59
60
metadata: ManifestMetadata .encode (context, element.metadata),
60
61
typeParameters: typeParameters,
62
+ isSimplyBounded: element.isSimplyBounded,
61
63
declaredConflicts: {},
62
64
declaredFields: {},
63
65
declaredGetters: {},
@@ -85,6 +87,7 @@ class ClassItem extends InterfaceItem<ClassElementImpl> {
85
87
id: ManifestItemId .read (reader),
86
88
metadata: ManifestMetadata .read (reader),
87
89
typeParameters: ManifestTypeParameter .readList (reader),
90
+ isSimplyBounded: reader.readBool (),
88
91
declaredConflicts: reader.readLookupNameToIdMap (),
89
92
declaredFields: InstanceItemFieldItem .readMap (reader),
90
93
declaredGetters: InstanceItemGetterItem .readMap (reader),
@@ -136,6 +139,7 @@ class EnumItem extends InterfaceItem<EnumElementImpl> {
136
139
required super .id,
137
140
required super .metadata,
138
141
required super .typeParameters,
142
+ required super .isSimplyBounded,
139
143
required super .declaredConflicts,
140
144
required super .declaredFields,
141
145
required super .declaredGetters,
@@ -159,6 +163,7 @@ class EnumItem extends InterfaceItem<EnumElementImpl> {
159
163
id: id,
160
164
metadata: ManifestMetadata .encode (context, element.metadata),
161
165
typeParameters: typeParameters,
166
+ isSimplyBounded: element.isSimplyBounded,
162
167
declaredConflicts: {},
163
168
declaredFields: {},
164
169
declaredGetters: {},
@@ -179,6 +184,7 @@ class EnumItem extends InterfaceItem<EnumElementImpl> {
179
184
id: ManifestItemId .read (reader),
180
185
metadata: ManifestMetadata .read (reader),
181
186
typeParameters: ManifestTypeParameter .readList (reader),
187
+ isSimplyBounded: reader.readBool (),
182
188
declaredConflicts: reader.readLookupNameToIdMap (),
183
189
declaredFields: InstanceItemFieldItem .readMap (reader),
184
190
declaredGetters: InstanceItemGetterItem .readMap (reader),
@@ -202,6 +208,7 @@ class ExtensionItem<E extends ExtensionElementImpl> extends InstanceItem<E> {
202
208
required super .id,
203
209
required super .metadata,
204
210
required super .typeParameters,
211
+ required super .isSimplyBounded,
205
212
required super .declaredConflicts,
206
213
required super .declaredFields,
207
214
required super .declaredGetters,
@@ -222,6 +229,7 @@ class ExtensionItem<E extends ExtensionElementImpl> extends InstanceItem<E> {
222
229
id: id,
223
230
metadata: ManifestMetadata .encode (context, element.metadata),
224
231
typeParameters: typeParameters,
232
+ isSimplyBounded: element.isSimplyBounded,
225
233
declaredConflicts: {},
226
234
declaredFields: {},
227
235
declaredGetters: {},
@@ -239,6 +247,7 @@ class ExtensionItem<E extends ExtensionElementImpl> extends InstanceItem<E> {
239
247
id: ManifestItemId .read (reader),
240
248
metadata: ManifestMetadata .read (reader),
241
249
typeParameters: ManifestTypeParameter .readList (reader),
250
+ isSimplyBounded: reader.readBool (),
242
251
declaredConflicts: reader.readLookupNameToIdMap (),
243
252
declaredFields: InstanceItemFieldItem .readMap (reader),
244
253
declaredGetters: InstanceItemGetterItem .readMap (reader),
@@ -273,6 +282,7 @@ class ExtensionTypeItem extends InterfaceItem<ExtensionTypeElementImpl> {
273
282
required super .id,
274
283
required super .metadata,
275
284
required super .typeParameters,
285
+ required super .isSimplyBounded,
276
286
required super .declaredConflicts,
277
287
required super .declaredFields,
278
288
required super .declaredGetters,
@@ -300,6 +310,7 @@ class ExtensionTypeItem extends InterfaceItem<ExtensionTypeElementImpl> {
300
310
id: id,
301
311
metadata: ManifestMetadata .encode (context, element.metadata),
302
312
typeParameters: typeParameters,
313
+ isSimplyBounded: element.isSimplyBounded,
303
314
declaredConflicts: {},
304
315
declaredFields: {},
305
316
declaredGetters: {},
@@ -324,6 +335,7 @@ class ExtensionTypeItem extends InterfaceItem<ExtensionTypeElementImpl> {
324
335
id: ManifestItemId .read (reader),
325
336
metadata: ManifestMetadata .read (reader),
326
337
typeParameters: ManifestTypeParameter .readList (reader),
338
+ isSimplyBounded: reader.readBool (),
327
339
declaredConflicts: reader.readLookupNameToIdMap (),
328
340
declaredFields: InstanceItemFieldItem .readMap (reader),
329
341
declaredGetters: InstanceItemGetterItem .readMap (reader),
@@ -366,6 +378,7 @@ class ExtensionTypeItem extends InterfaceItem<ExtensionTypeElementImpl> {
366
378
sealed class InstanceItem <E extends InstanceElementImpl >
367
379
extends TopLevelItem <E > {
368
380
final List <ManifestTypeParameter > typeParameters;
381
+ final bool isSimplyBounded;
369
382
370
383
/// The names of duplicate or otherwise conflicting members.
371
384
/// Such names will not be added to `declaredXyz` maps.
@@ -382,6 +395,7 @@ sealed class InstanceItem<E extends InstanceElementImpl>
382
395
required super .id,
383
396
required super .metadata,
384
397
required this .typeParameters,
398
+ required this .isSimplyBounded,
385
399
required this .declaredConflicts,
386
400
required this .declaredFields,
387
401
required this .declaredGetters,
@@ -550,13 +564,15 @@ sealed class InstanceItem<E extends InstanceElementImpl>
550
564
bool match (MatchContext context, E element) {
551
565
context.addTypeParameters (element.typeParameters);
552
566
return super .match (context, element) &&
553
- typeParameters.match (context, element.typeParameters);
567
+ typeParameters.match (context, element.typeParameters) &&
568
+ isSimplyBounded == element.isSimplyBounded;
554
569
}
555
570
556
571
@override
557
572
void write (BufferedSink sink) {
558
573
super .write (sink);
559
574
typeParameters.write (sink);
575
+ sink.writeBool (isSimplyBounded);
560
576
declaredConflicts.write (sink);
561
577
declaredFields.write (sink);
562
578
declaredGetters.write (sink);
@@ -918,6 +934,7 @@ sealed class InterfaceItem<E extends InterfaceElementImpl>
918
934
required super .id,
919
935
required super .metadata,
920
936
required super .typeParameters,
937
+ required super .isSimplyBounded,
921
938
required super .declaredConflicts,
922
939
required super .declaredFields,
923
940
required super .declaredGetters,
@@ -1220,6 +1237,7 @@ class MixinItem extends InterfaceItem<MixinElementImpl> {
1220
1237
required super .id,
1221
1238
required super .metadata,
1222
1239
required super .typeParameters,
1240
+ required super .isSimplyBounded,
1223
1241
required super .supertype,
1224
1242
required super .interfaces,
1225
1243
required super .mixins,
@@ -1248,6 +1266,7 @@ class MixinItem extends InterfaceItem<MixinElementImpl> {
1248
1266
id: id,
1249
1267
metadata: ManifestMetadata .encode (context, element.metadata),
1250
1268
typeParameters: typeParameters,
1269
+ isSimplyBounded: element.isSimplyBounded,
1251
1270
declaredConflicts: {},
1252
1271
declaredFields: {},
1253
1272
declaredGetters: {},
@@ -1273,6 +1292,7 @@ class MixinItem extends InterfaceItem<MixinElementImpl> {
1273
1292
id: ManifestItemId .read (reader),
1274
1293
metadata: ManifestMetadata .read (reader),
1275
1294
typeParameters: ManifestTypeParameter .readList (reader),
1295
+ isSimplyBounded: reader.readBool (),
1276
1296
declaredConflicts: reader.readLookupNameToIdMap (),
1277
1297
declaredFields: InstanceItemFieldItem .readMap (reader),
1278
1298
declaredGetters: InstanceItemGetterItem .readMap (reader),
0 commit comments