Skip to content

Commit 1d09221

Browse files
committed
[cfe] Move LUB computation to package:kernel
Change-Id: I06951e5367dbf5e84d897e38d38ec00fa6115db7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155325 Reviewed-by: Dmitry Stefantsov <[email protected]>
1 parent 3337849 commit 1d09221

File tree

10 files changed

+1670
-1633
lines changed

10 files changed

+1670
-1633
lines changed

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

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import 'package:kernel/type_environment.dart';
1717
import 'package:kernel/src/legacy_erasure.dart';
1818
import 'package:kernel/src/nnbd_top_merge.dart';
1919
import 'package:kernel/src/norm.dart';
20+
import 'package:kernel/src/standard_bounds.dart';
2021
import 'package:kernel/src/types.dart' show Types;
2122

2223
import '../../testing/id_testing_utils.dart' show typeToText;
@@ -67,7 +68,7 @@ import '../source/source_library_builder.dart' show SourceLibraryBuilder;
6768

6869
import '../source/source_loader.dart' show SourceLoader;
6970

70-
import '../type_inference/standard_bounds.dart' show StandardBounds;
71+
import '../type_inference/standard_bounds.dart' show TypeSchemaStandardBounds;
7172

7273
import '../type_inference/type_constraint_gatherer.dart'
7374
show TypeConstraintGatherer;
@@ -512,7 +513,8 @@ class ClassHierarchyBuilder implements ClassHierarchyBase {
512513
return asSupertypeOf(type, superclass)?.typeArguments;
513514
}
514515

515-
InterfaceType getKernelLegacyLeastUpperBound(
516+
@override
517+
InterfaceType getLegacyLeastUpperBound(
516518
InterfaceType type1, InterfaceType type2, Library clientLibrary) {
517519
if (type1 == type2) return type1;
518520

@@ -2529,7 +2531,7 @@ class BuilderMixinInferrer extends MixinInferrer {
25292531
}
25302532

25312533
class TypeBuilderConstraintGatherer extends TypeConstraintGatherer
2532-
with StandardBounds {
2534+
with StandardBounds, TypeSchemaStandardBounds {
25332535
final ClassHierarchyBuilder hierarchy;
25342536

25352537
TypeBuilderConstraintGatherer(this.hierarchy,
@@ -2587,13 +2589,6 @@ class TypeBuilderConstraintGatherer extends TypeConstraintGatherer
25872589
bool areMutualSubtypes(DartType s, DartType t, SubtypeCheckMode mode) {
25882590
return isSubtypeOf(s, t, mode) && isSubtypeOf(t, s, mode);
25892591
}
2590-
2591-
@override
2592-
InterfaceType getLegacyLeastUpperBound(
2593-
InterfaceType type1, InterfaceType type2, Library clientLibrary) {
2594-
return hierarchy.getKernelLegacyLeastUpperBound(
2595-
type1, type2, clientLibrary);
2596-
}
25972592
}
25982593

25992594
class DelayedOverrideCheck {

0 commit comments

Comments
 (0)