@@ -18897,6 +18897,251 @@ class C {}
1889718897 );
1889818898 }
1889918899
18900+ test_dependency_export_class_reExport_chain_external() async {
18901+ var a = newFile('$testPackageLibPath/a.dart', r'''
18902+ class A1 {}
18903+ class A2 {}
18904+ class A3 {}
18905+ ''');
18906+
18907+ newFile('$testPackageLibPath/b.dart', r'''
18908+ export 'a.dart';
18909+ class B {}
18910+ ''');
18911+
18912+ newFile('$testPackageLibPath/test.dart', r'''
18913+ export 'b.dart';
18914+ ''');
18915+
18916+ configuration.elementTextConfiguration.withExportScope = true;
18917+ await _runChangeScenario(
18918+ operation: _FineOperationGetTestLibrary(),
18919+ expectedInitialEvents: r'''
18920+ [status] working
18921+ [operation] linkLibraryCycle SDK
18922+ [operation] linkLibraryCycle
18923+ package:test/a.dart
18924+ declaredClasses
18925+ A1: #M0
18926+ interface: #M1
18927+ A2: #M2
18928+ interface: #M3
18929+ A3: #M4
18930+ interface: #M5
18931+ requirements
18932+ [operation] linkLibraryCycle
18933+ package:test/b.dart
18934+ declaredClasses
18935+ B: #M6
18936+ interface: #M7
18937+ reExportMap
18938+ A1: #M0
18939+ A2: #M2
18940+ A3: #M4
18941+ requirements
18942+ exportRequirements
18943+ package:test/b.dart
18944+ declaredTopNames: B
18945+ exports
18946+ package:test/a.dart
18947+ A1: #M0
18948+ A2: #M2
18949+ A3: #M4
18950+ [operation] linkLibraryCycle
18951+ package:test/test.dart
18952+ reExportMap
18953+ A1: #M0
18954+ A2: #M2
18955+ A3: #M4
18956+ B: #M6
18957+ requirements
18958+ exportRequirements
18959+ package:test/test.dart
18960+ exports
18961+ package:test/b.dart
18962+ A1: #M0
18963+ A2: #M2
18964+ A3: #M4
18965+ B: #M6
18966+ [status] idle
18967+ [future] getLibraryByUri T1
18968+ library
18969+ exportedReferences
18970+ exported[(0, 0)] package:test/a.dart::@class::A1
18971+ exported[(0, 0)] package:test/a.dart::@class::A2
18972+ exported[(0, 0)] package:test/a.dart::@class::A3
18973+ exported[(0, 0)] package:test/b.dart::@class::B
18974+ exportNamespace
18975+ A1: package:test/a.dart::@class::A1
18976+ A2: package:test/a.dart::@class::A2
18977+ A3: package:test/a.dart::@class::A3
18978+ B: package:test/b.dart::@class::B
18979+ ''',
18980+ updateFiles: () {
18981+ modifyFile2(a, r'''
18982+ abstract class A2 {}
18983+ class A3 {}
18984+ ''');
18985+ return [a];
18986+ },
18987+ expectedUpdatedEvents: r'''
18988+ [status] working
18989+ [operation] linkLibraryCycle
18990+ package:test/a.dart
18991+ declaredClasses
18992+ A2: #M8
18993+ interface: #M9
18994+ A3: #M4
18995+ interface: #M5
18996+ requirements
18997+ [operation] checkLinkedBundleRequirements
18998+ package:test/b.dart
18999+ exportIdMismatch
19000+ fragmentUri: package:test/b.dart
19001+ exportedUri: package:test/a.dart
19002+ name: A2
19003+ expectedId: #M2
19004+ actualId: #M8
19005+ [operation] linkLibraryCycle
19006+ package:test/b.dart
19007+ declaredClasses
19008+ B: #M6
19009+ interface: #M7
19010+ reExportMap
19011+ A2: #M8
19012+ A3: #M4
19013+ requirements
19014+ exportRequirements
19015+ package:test/b.dart
19016+ declaredTopNames: B
19017+ exports
19018+ package:test/a.dart
19019+ A2: #M8
19020+ A3: #M4
19021+ [operation] checkLinkedBundleRequirements
19022+ package:test/test.dart
19023+ exportIdMismatch
19024+ fragmentUri: package:test/test.dart
19025+ exportedUri: package:test/b.dart
19026+ name: A2
19027+ expectedId: #M2
19028+ actualId: #M8
19029+ [operation] linkLibraryCycle
19030+ package:test/test.dart
19031+ reExportMap
19032+ A2: #M8
19033+ A3: #M4
19034+ B: #M6
19035+ requirements
19036+ exportRequirements
19037+ package:test/test.dart
19038+ exports
19039+ package:test/b.dart
19040+ A2: #M8
19041+ A3: #M4
19042+ B: #M6
19043+ [status] idle
19044+ [future] getLibraryByUri T2
19045+ library
19046+ exportedReferences
19047+ exported[(0, 0)] package:test/a.dart::@class::A2
19048+ exported[(0, 0)] package:test/a.dart::@class::A3
19049+ exported[(0, 0)] package:test/b.dart::@class::B
19050+ exportNamespace
19051+ A2: package:test/a.dart::@class::A2
19052+ A3: package:test/a.dart::@class::A3
19053+ B: package:test/b.dart::@class::B
19054+ ''',
19055+ );
19056+ }
19057+
19058+ test_dependency_export_class_reExport_chain_thisCycle() async {
19059+ var a = newFile('$testPackageLibPath/a.dart', r'''
19060+ import 'test.dart';
19061+ class A1 {}
19062+ class A2 {}
19063+ class A3 {}
19064+ ''');
19065+
19066+ newFile('$testPackageLibPath/b.dart', r'''
19067+ export 'a.dart';
19068+ class B {}
19069+ ''');
19070+
19071+ newFile('$testPackageLibPath/test.dart', r'''
19072+ export 'b.dart';
19073+ ''');
19074+
19075+ await _runChangeScenario(
19076+ operation: _FineOperationGetTestLibrary(),
19077+ expectedInitialEvents: r'''
19078+ [status] working
19079+ [operation] linkLibraryCycle SDK
19080+ [operation] linkLibraryCycle
19081+ package:test/a.dart
19082+ declaredClasses
19083+ A1: #M0
19084+ interface: #M1
19085+ A2: #M2
19086+ interface: #M3
19087+ A3: #M4
19088+ interface: #M5
19089+ package:test/b.dart
19090+ declaredClasses
19091+ B: #M6
19092+ interface: #M7
19093+ reExportMap
19094+ A1: #M0
19095+ A2: #M2
19096+ A3: #M4
19097+ package:test/test.dart
19098+ reExportMap
19099+ A1: #M0
19100+ A2: #M2
19101+ A3: #M4
19102+ B: #M6
19103+ requirements
19104+ [status] idle
19105+ [future] getLibraryByUri T1
19106+ library
19107+ ''',
19108+ updateFiles: () {
19109+ modifyFile2(a, r'''
19110+ import 'test.dart';
19111+ abstract class A2 {}
19112+ class A3 {}
19113+ ''');
19114+ return [a];
19115+ },
19116+ expectedUpdatedEvents: r'''
19117+ [status] working
19118+ [operation] linkLibraryCycle
19119+ package:test/a.dart
19120+ declaredClasses
19121+ A2: #M8
19122+ interface: #M9
19123+ A3: #M4
19124+ interface: #M5
19125+ package:test/b.dart
19126+ declaredClasses
19127+ B: #M6
19128+ interface: #M7
19129+ reExportMap
19130+ A2: #M8
19131+ A3: #M4
19132+ package:test/test.dart
19133+ reExportMap
19134+ A2: #M8
19135+ A3: #M4
19136+ B: #M6
19137+ requirements
19138+ [status] idle
19139+ [future] getLibraryByUri T2
19140+ library
19141+ ''',
19142+ );
19143+ }
19144+
1890019145 test_dependency_export_class_reExport_combinatorShow() async {
1890119146 var a = newFile('$testPackageLibPath/a.dart', r'''
1890219147class A {}
0 commit comments