@@ -459,8 +459,8 @@ class KernelTarget extends TargetImplementation {
459
459
}
460
460
461
461
benchmarker? .enterPhase (BenchmarkPhases .outline_checkSemantics);
462
- List <SourceClassBuilder >? sourceClassBuilders =
463
- loader.checkSemantics (objectClassBuilder);
462
+ List <SourceClassBuilder >? sortedSourceClassBuilders =
463
+ loader.checkClassCycles (objectClassBuilder);
464
464
465
465
benchmarker? .enterPhase (BenchmarkPhases .outline_finishTypeVariables);
466
466
loader.finishTypeVariables (
@@ -484,15 +484,16 @@ class KernelTarget extends TargetImplementation {
484
484
computeCoreTypes ();
485
485
486
486
benchmarker? .enterPhase (BenchmarkPhases .outline_buildClassHierarchy);
487
- loader.buildClassHierarchy (sourceClassBuilders , objectClassBuilder);
487
+ loader.buildClassHierarchy (sortedSourceClassBuilders , objectClassBuilder);
488
488
489
489
benchmarker? .enterPhase (BenchmarkPhases .outline_checkSupertypes);
490
490
loader.checkSupertypes (
491
- sourceClassBuilders , enumClass, underscoreEnumClass);
491
+ sortedSourceClassBuilders , enumClass, underscoreEnumClass);
492
492
493
493
if (macroApplications != null ) {
494
494
benchmarker? .enterPhase (BenchmarkPhases .outline_applyDeclarationMacros);
495
- await macroApplications.applyDeclarationsMacros (loader.hierarchyBuilder,
495
+ await macroApplications.applyDeclarationsMacros (
496
+ loader.hierarchyBuilder, sortedSourceClassBuilders,
496
497
(SourceLibraryBuilder augmentationLibrary) async {
497
498
List <SourceLibraryBuilder > augmentationLibraries = [
498
499
augmentationLibrary
@@ -508,14 +509,14 @@ class KernelTarget extends TargetImplementation {
508
509
509
510
benchmarker
510
511
? .enterPhase (BenchmarkPhases .outline_installSyntheticConstructors);
511
- installSyntheticConstructors (sourceClassBuilders );
512
+ installSyntheticConstructors (sortedSourceClassBuilders );
512
513
513
514
benchmarker? .enterPhase (BenchmarkPhases .outline_resolveConstructors);
514
515
loader.resolveConstructors (loader.sourceLibraryBuilders);
515
516
516
517
benchmarker
517
518
? .enterPhase (BenchmarkPhases .outline_buildClassHierarchyMembers);
518
- loader.buildClassHierarchyMembers (sourceClassBuilders );
519
+ loader.buildClassHierarchyMembers (sortedSourceClassBuilders );
519
520
520
521
benchmarker? .enterPhase (BenchmarkPhases .outline_computeHierarchy);
521
522
loader.computeHierarchy ();
@@ -527,20 +528,20 @@ class KernelTarget extends TargetImplementation {
527
528
loader.installTypedefTearOffs ();
528
529
529
530
benchmarker? .enterPhase (BenchmarkPhases .outline_performTopLevelInference);
530
- loader.performTopLevelInference (sourceClassBuilders );
531
+ loader.performTopLevelInference (sortedSourceClassBuilders );
531
532
532
533
benchmarker? .enterPhase (BenchmarkPhases .outline_checkOverrides);
533
- loader.checkOverrides (sourceClassBuilders );
534
+ loader.checkOverrides (sortedSourceClassBuilders );
534
535
535
536
benchmarker? .enterPhase (BenchmarkPhases .outline_checkAbstractMembers);
536
- loader.checkAbstractMembers (sourceClassBuilders );
537
+ loader.checkAbstractMembers (sortedSourceClassBuilders );
537
538
538
539
benchmarker
539
540
? .enterPhase (BenchmarkPhases .outline_addNoSuchMethodForwarders);
540
- loader.addNoSuchMethodForwarders (sourceClassBuilders );
541
+ loader.addNoSuchMethodForwarders (sortedSourceClassBuilders );
541
542
542
543
benchmarker? .enterPhase (BenchmarkPhases .outline_checkMixins);
543
- loader.checkMixins (sourceClassBuilders );
544
+ loader.checkMixins (sortedSourceClassBuilders );
544
545
545
546
benchmarker? .enterPhase (BenchmarkPhases .outline_buildOutlineExpressions);
546
547
// TODO(johnniwinther): Add an interface for registering delayed actions.
@@ -554,7 +555,7 @@ class KernelTarget extends TargetImplementation {
554
555
555
556
benchmarker
556
557
? .enterPhase (BenchmarkPhases .outline_checkRedirectingFactories);
557
- loader.checkRedirectingFactories (sourceClassBuilders );
558
+ loader.checkRedirectingFactories (sortedSourceClassBuilders );
558
559
559
560
benchmarker
560
561
? .enterPhase (BenchmarkPhases .outline_finishSynthesizedParameters);
@@ -574,7 +575,7 @@ class KernelTarget extends TargetImplementation {
574
575
// of time, meaning that all source library builders will be kept alive
575
576
// (for whatever amount of time) even though we convert them to dill
576
577
// library builders. To avoid it we null it out here.
577
- sourceClassBuilders = null ;
578
+ sortedSourceClassBuilders = null ;
578
579
579
580
return new BuildResult (
580
581
component: component, macroApplications: macroApplications);
0 commit comments