Skip to content

Commit f5b7d49

Browse files
author
Dart CI
committed
Version 2.18.0-124.0.dev
Merge commit '6ef2b237e06bc4497cfb8a1fe1cceada96982a90' into 'dev'
2 parents 0bc104c + 6ef2b23 commit f5b7d49

22 files changed

+684
-218
lines changed

pkg/front_end/lib/src/fasta/kernel/kernel_target.dart

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -459,8 +459,8 @@ class KernelTarget extends TargetImplementation {
459459
}
460460

461461
benchmarker?.enterPhase(BenchmarkPhases.outline_checkSemantics);
462-
List<SourceClassBuilder>? sourceClassBuilders =
463-
loader.checkSemantics(objectClassBuilder);
462+
List<SourceClassBuilder>? sortedSourceClassBuilders =
463+
loader.checkClassCycles(objectClassBuilder);
464464

465465
benchmarker?.enterPhase(BenchmarkPhases.outline_finishTypeVariables);
466466
loader.finishTypeVariables(
@@ -484,15 +484,16 @@ class KernelTarget extends TargetImplementation {
484484
computeCoreTypes();
485485

486486
benchmarker?.enterPhase(BenchmarkPhases.outline_buildClassHierarchy);
487-
loader.buildClassHierarchy(sourceClassBuilders, objectClassBuilder);
487+
loader.buildClassHierarchy(sortedSourceClassBuilders, objectClassBuilder);
488488

489489
benchmarker?.enterPhase(BenchmarkPhases.outline_checkSupertypes);
490490
loader.checkSupertypes(
491-
sourceClassBuilders, enumClass, underscoreEnumClass);
491+
sortedSourceClassBuilders, enumClass, underscoreEnumClass);
492492

493493
if (macroApplications != null) {
494494
benchmarker?.enterPhase(BenchmarkPhases.outline_applyDeclarationMacros);
495-
await macroApplications.applyDeclarationsMacros(loader.hierarchyBuilder,
495+
await macroApplications.applyDeclarationsMacros(
496+
loader.hierarchyBuilder, sortedSourceClassBuilders,
496497
(SourceLibraryBuilder augmentationLibrary) async {
497498
List<SourceLibraryBuilder> augmentationLibraries = [
498499
augmentationLibrary
@@ -508,14 +509,14 @@ class KernelTarget extends TargetImplementation {
508509

509510
benchmarker
510511
?.enterPhase(BenchmarkPhases.outline_installSyntheticConstructors);
511-
installSyntheticConstructors(sourceClassBuilders);
512+
installSyntheticConstructors(sortedSourceClassBuilders);
512513

513514
benchmarker?.enterPhase(BenchmarkPhases.outline_resolveConstructors);
514515
loader.resolveConstructors(loader.sourceLibraryBuilders);
515516

516517
benchmarker
517518
?.enterPhase(BenchmarkPhases.outline_buildClassHierarchyMembers);
518-
loader.buildClassHierarchyMembers(sourceClassBuilders);
519+
loader.buildClassHierarchyMembers(sortedSourceClassBuilders);
519520

520521
benchmarker?.enterPhase(BenchmarkPhases.outline_computeHierarchy);
521522
loader.computeHierarchy();
@@ -527,20 +528,20 @@ class KernelTarget extends TargetImplementation {
527528
loader.installTypedefTearOffs();
528529

529530
benchmarker?.enterPhase(BenchmarkPhases.outline_performTopLevelInference);
530-
loader.performTopLevelInference(sourceClassBuilders);
531+
loader.performTopLevelInference(sortedSourceClassBuilders);
531532

532533
benchmarker?.enterPhase(BenchmarkPhases.outline_checkOverrides);
533-
loader.checkOverrides(sourceClassBuilders);
534+
loader.checkOverrides(sortedSourceClassBuilders);
534535

535536
benchmarker?.enterPhase(BenchmarkPhases.outline_checkAbstractMembers);
536-
loader.checkAbstractMembers(sourceClassBuilders);
537+
loader.checkAbstractMembers(sortedSourceClassBuilders);
537538

538539
benchmarker
539540
?.enterPhase(BenchmarkPhases.outline_addNoSuchMethodForwarders);
540-
loader.addNoSuchMethodForwarders(sourceClassBuilders);
541+
loader.addNoSuchMethodForwarders(sortedSourceClassBuilders);
541542

542543
benchmarker?.enterPhase(BenchmarkPhases.outline_checkMixins);
543-
loader.checkMixins(sourceClassBuilders);
544+
loader.checkMixins(sortedSourceClassBuilders);
544545

545546
benchmarker?.enterPhase(BenchmarkPhases.outline_buildOutlineExpressions);
546547
// TODO(johnniwinther): Add an interface for registering delayed actions.
@@ -554,7 +555,7 @@ class KernelTarget extends TargetImplementation {
554555

555556
benchmarker
556557
?.enterPhase(BenchmarkPhases.outline_checkRedirectingFactories);
557-
loader.checkRedirectingFactories(sourceClassBuilders);
558+
loader.checkRedirectingFactories(sortedSourceClassBuilders);
558559

559560
benchmarker
560561
?.enterPhase(BenchmarkPhases.outline_finishSynthesizedParameters);
@@ -574,7 +575,7 @@ class KernelTarget extends TargetImplementation {
574575
// of time, meaning that all source library builders will be kept alive
575576
// (for whatever amount of time) even though we convert them to dill
576577
// library builders. To avoid it we null it out here.
577-
sourceClassBuilders = null;
578+
sortedSourceClassBuilders = null;
578579

579580
return new BuildResult(
580581
component: component, macroApplications: macroApplications);

pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ List<MacroApplication>? prebuildAnnotations(
3939
result.add(application);
4040
}
4141
}
42+
if (result != null && result.length > 1) {
43+
result = result.reversed.toList(growable: false);
44+
}
4245
return result;
4346
}
4447

0 commit comments

Comments
 (0)