[dart2js] Clean up migration interface
Change-Id: Ie40716265fce4cdb7ce298d8cbbf6c86fe06c05d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/274267
Reviewed-by: Nate Biggs <natebiggs@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
diff --git a/pkg/compiler/lib/src/resolution/enqueuer.dart b/pkg/compiler/lib/src/resolution/enqueuer.dart
index a560e5d..2699d6c 100644
--- a/pkg/compiler/lib/src/resolution/enqueuer.dart
+++ b/pkg/compiler/lib/src/resolution/enqueuer.dart
@@ -13,7 +13,7 @@
import '../elements/types.dart';
import '../js_backend/annotations.dart';
import '../universe/member_usage.dart';
-import '../universe/resolution_world_builder_interfaces.dart';
+import '../universe/resolution_world_builder.dart' show ResolutionWorldBuilder;
import '../universe/use.dart'
show
ConstantUse,
diff --git a/pkg/compiler/lib/src/universe/resolution_world_builder.dart b/pkg/compiler/lib/src/universe/resolution_world_builder.dart
index 4af3426..814249d 100644
--- a/pkg/compiler/lib/src/universe/resolution_world_builder.dart
+++ b/pkg/compiler/lib/src/universe/resolution_world_builder.dart
@@ -28,7 +28,6 @@
import 'class_hierarchy.dart' show ClassHierarchyBuilder;
import 'class_set.dart';
import 'member_usage.dart';
-import 'resolution_world_builder_interfaces.dart' as interfaces;
import 'selector.dart' show Selector;
import 'use.dart'
show ConstantUse, DynamicUse, DynamicUseKind, StaticUse, StaticUseKind;
@@ -189,8 +188,7 @@
}
}
-class ResolutionWorldBuilder extends WorldBuilder
- implements World, interfaces.ResolutionWorldBuilder {
+class ResolutionWorldBuilder extends WorldBuilder implements World {
/// Instantiation information for all classes with instantiated types.
///
/// Invariant: Elements are declaration elements.
@@ -302,16 +300,13 @@
Iterable<ClassEntity> get processedClasses => _processedClasses.keys
.where((cls) => _processedClasses[cls]!.isInstantiated);
- @override
bool isMemberProcessed(MemberEntity member) =>
_processedMembers.contains(member);
- @override
void registerProcessedMember(MemberEntity member) {
_processedMembers.add(member);
}
- @override
Iterable<MemberEntity> get processedMembers => _processedMembers;
/// The closed world computed by this world builder.
@@ -326,7 +321,6 @@
}
// TODO(johnniwinther): Improve semantic precision.
- @override
Iterable<ClassEntity> get directlyInstantiatedClasses {
Set<ClassEntity> classes = {};
getInstantiationMap().forEach((ClassEntity cls, InstantiationInfo info) {
@@ -338,7 +332,6 @@
}
/// Registers that [element] has been closurized.
- @override
void registerClosurizedMember(MemberEntity element) {
FunctionType type =
_elementEnvironment.getFunctionType(element as FunctionEntity);
@@ -351,7 +344,6 @@
// TODO(johnniwinther): Fully enforce the separation between exact, through
// subclass and through subtype instantiated types/classes.
// TODO(johnniwinther): Support unknown type arguments for generic types.
- @override
void registerTypeInstantiation(
InterfaceType type, ClassUsedCallback classUsed,
{ConstructorEntity? constructor}) {
@@ -441,7 +433,6 @@
/// Applies the [dynamicUse] to applicable instance members. Calls
/// [membersUsed] with the usage changes for each member.
- @override
void registerDynamicUse(
DynamicUse dynamicUse, MemberUsedCallback memberUsed) {
Selector selector = dynamicUse.selector;
@@ -522,26 +513,22 @@
}
/// Registers that [type] is checked in this world builder.
- @override
void registerIsCheck(covariant DartType type) {
_isChecks.add(type);
}
- @override
void registerNamedTypeVariableNewRti(TypeVariableType type) {
_namedTypeVariablesNewRti.add(type);
}
/// Register the constant [use] with this world builder. Returns `true` if
/// the constant use was new to the world.
- @override
bool registerConstantUse(ConstantUse use) {
return _constantValues.add(use.value);
}
/// Applies the [staticUse] to applicable members. Calls [membersUsed] with
/// the usage changes for each member.
- @override
void registerStaticUse(StaticUse staticUse, MemberUsedCallback memberUsed) {
if (staticUse.kind == StaticUseKind.CLOSURE) {
Local localFunction = staticUse.element as Local;
@@ -677,7 +664,6 @@
/// If [checkEnqueuerConsistency] is `true` we check that no new member
/// usage can be found. This check is performed without changing the already
/// collected member usage.
- @override
void processClassMembers(ClassEntity cls, MemberUsedCallback memberUsed,
{bool checkEnqueuerConsistency = false}) {
_elementEnvironment.forEachClassMember(cls,
@@ -687,7 +673,6 @@
});
}
- @override
void processAbstractClassMembers(
ClassEntity cls, MemberUsedCallback memberUsed) {
_elementEnvironment.forEachLocalClassMember(cls, (MemberEntity member) {
@@ -869,7 +854,6 @@
}
}
- @override
void registerUsedElement(MemberEntity element) {
if (element.isInstanceMember) {
if (element.isAbstract) {
@@ -927,7 +911,6 @@
return assignedInstanceMembers;
}
- @override
void registerClass(ClassEntity cls) {
_classHierarchyBuilder.registerClass(cls);
}
@@ -945,7 +928,6 @@
/// Here `A.m` is inherited into `A`, `B`, and `C`. Because `B` and
/// `C` implement `I`, `isInheritedInSubtypeOf(A.m, I)` is true, but
/// `isInheritedInSubtypeOf(A.m, J)` is false.
- @override
bool isInheritedIn(
MemberEntity member, ClassEntity type, ClassRelation relation) {
// TODO(johnniwinther): Use the [member] itself to avoid enqueueing members
diff --git a/pkg/compiler/lib/src/universe/resolution_world_builder_interfaces.dart b/pkg/compiler/lib/src/universe/resolution_world_builder_interfaces.dart
deleted file mode 100644
index a08f863..0000000
--- a/pkg/compiler/lib/src/universe/resolution_world_builder_interfaces.dart
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import '../elements/entities.dart';
-import '../elements/types.dart';
-import '../ir/class_relation.dart';
-import 'member_usage.dart';
-import 'use.dart';
-import '../world.dart';
-
-abstract class ResolutionWorldBuilder implements World {
- Iterable<ClassEntity> get directlyInstantiatedClasses;
-
- Iterable<MemberEntity> get processedMembers;
-
- void registerTypeInstantiation(
- InterfaceType type, ClassUsedCallback classUsed,
- {ConstructorEntity? constructor});
-
- void processClassMembers(ClassEntity cls, MemberUsedCallback memberUsed,
- {bool checkEnqueuerConsistency = false});
-
- void processAbstractClassMembers(
- ClassEntity cls, MemberUsedCallback memberUsed);
-
- bool isInheritedIn(
- MemberEntity member, ClassEntity type, ClassRelation relation);
-
- void registerDynamicUse(DynamicUse dynamicUse, MemberUsedCallback memberUsed);
-
- bool registerConstantUse(ConstantUse use);
-
- void registerStaticUse(StaticUse staticUse, MemberUsedCallback memberUsed);
-
- void registerTypeVariableTypeLiteral(TypeVariableType typeVariable);
-
- void registerIsCheck(covariant DartType type);
-
- void registerNamedTypeVariableNewRti(TypeVariableType type);
-
- void registerClosurizedMember(MemberEntity element);
-
- bool isMemberProcessed(MemberEntity member);
-
- void registerProcessedMember(MemberEntity member);
-
- void registerUsedElement(MemberEntity element);
-
- void registerClass(ClassEntity cls);
-}
diff --git a/pkg/compiler/lib/src/universe/world_builder.dart b/pkg/compiler/lib/src/universe/world_builder.dart
index f90ddfd..938b107 100644
--- a/pkg/compiler/lib/src/universe/world_builder.dart
+++ b/pkg/compiler/lib/src/universe/world_builder.dart
@@ -13,7 +13,7 @@
import '../world.dart' show World;
import 'selector.dart' show Selector;
import 'use.dart' show DynamicUse, StaticUse;
-import 'resolution_world_builder_interfaces.dart' show ResolutionWorldBuilder;
+import 'resolution_world_builder.dart' show ResolutionWorldBuilder;
import 'strong_mode_constraint.dart' show StrongModeConstraintInterface;
/// The combined constraints on receivers all the dynamic call sites of the same