File tree Expand file tree Collapse file tree 2 files changed +53
-4
lines changed Expand file tree Collapse file tree 2 files changed +53
-4
lines changed Original file line number Diff line number Diff line change @@ -1111,10 +1111,11 @@ class LibraryManifestBuilder {
11111111 var classItem = declaredItems[classElement];
11121112 if (classItem != null ) {
11131113 classItem as ClassItem ;
1114- var ids = (classElement.allSubtypes ?? []).map ((type) {
1115- var item = declaredItems[type.element] as InterfaceItem ;
1116- return item.id;
1117- }).sorted ();
1114+ var ids = (classElement.allSubtypes ?? [])
1115+ .map ((type) => declaredItems[type.element])
1116+ .whereType <InterfaceItem >()
1117+ .map ((item) => item.id)
1118+ .sorted ();
11181119 classItem.allSubtypes = ManifestItemIdList (ids);
11191120 }
11201121 }
Original file line number Diff line number Diff line change @@ -55674,6 +55674,54 @@ class D extends B {}
5567455674 );
5567555675 }
5567655676
55677+ test_manifest_class_allSubtypes_final_missingName() async {
55678+ configuration.withElementManifests = true;
55679+
55680+ await _runLibraryManifestScenario(
55681+ initialCode: r'''
55682+ final class A {}
55683+ class extends A {}
55684+ ''',
55685+ expectedInitialEvents: r'''
55686+ [operation] linkLibraryCycle SDK
55687+ [operation] linkLibraryCycle
55688+ package:test/test.dart
55689+ hashForRequirements: #H0
55690+ declaredClasses
55691+ A: #M0
55692+ flags: isFinal
55693+ supertype: Object @ dart:core
55694+ interface: #M1
55695+ exportMapId: #M2
55696+ exportMap
55697+ A: #M0
55698+ ''',
55699+ updatedCode: r'''
55700+ final class A {}
55701+ class extends A {}
55702+ class C extends A {}
55703+ ''',
55704+ expectedUpdatedEvents: r'''
55705+ [operation] linkLibraryCycle
55706+ package:test/test.dart
55707+ hashForRequirements: #H1
55708+ declaredClasses
55709+ A: #M0
55710+ flags: isFinal
55711+ supertype: Object @ dart:core
55712+ allSubtypes: #M3
55713+ interface: #M1
55714+ C: #M3
55715+ supertype: A @ package:test/test.dart
55716+ interface: #M4
55717+ exportMapId: #M5
55718+ exportMap
55719+ A: #M0
55720+ C: #M3
55721+ ''',
55722+ );
55723+ }
55724+
5567755725 test_manifest_class_allSubtypes_final_mixin() async {
5567855726 configuration.withElementManifests = true;
5567955727
You can’t perform that action at this time.
0 commit comments