Remove InterfaceResolver.legacyMode
Change-Id: Icc4d51dd4d2ff35d2048f8190ca134919c56f6a0
Reviewed-on: https://dart-review.googlesource.com/c/87588
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
diff --git a/pkg/front_end/lib/src/fasta/source/source_loader.dart b/pkg/front_end/lib/src/fasta/source/source_loader.dart
index 9ddb35a..64ee146 100644
--- a/pkg/front_end/lib/src/fasta/source/source_loader.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_loader.dart
@@ -951,11 +951,8 @@
/// might be subject to type inference, and records dependencies between
/// them.
typeInferenceEngine.prepareTopLevel(coreTypes, hierarchy);
- interfaceResolver = new InterfaceResolver(
- typeInferenceEngine,
- typeInferenceEngine.typeSchemaEnvironment,
- instrumentation,
- target.legacyMode);
+ interfaceResolver = new InterfaceResolver(typeInferenceEngine,
+ typeInferenceEngine.typeSchemaEnvironment, instrumentation);
for (LibraryBuilder library in builders.values) {
if (library.loader == this) {
Iterator<Declaration> iterator = library.iterator;
diff --git a/pkg/front_end/lib/src/fasta/type_inference/interface_resolver.dart b/pkg/front_end/lib/src/fasta/type_inference/interface_resolver.dart
index fba244b..b0f3d1e 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/interface_resolver.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/interface_resolver.dart
@@ -257,7 +257,6 @@
/// they would not be checked in an inherited implementation, a forwarding
/// stub is introduced as a place to put the checks.
Procedure _computeCovarianceFixes(Procedure interfaceMember) {
- assert(!_interfaceResolver.legacyMode);
var substitution =
_interfaceResolver._substitutionFor(interfaceMember, enclosingClass);
// We always create a forwarding stub when we've inherited a member from an
@@ -546,9 +545,7 @@
/// Creates a forwarding stub for this node if necessary, and propagates
/// covariance information.
Procedure _finalize() {
- return !_interfaceResolver.legacyMode
- ? _computeCovarianceFixes(resolve())
- : resolve();
+ return _computeCovarianceFixes(resolve());
}
/// Returns the [i]th element of [_candidates], finalizing it if necessary.
@@ -682,10 +679,8 @@
final Instrumentation _instrumentation;
- final bool legacyMode;
-
- InterfaceResolver(this._typeInferenceEngine, this._typeEnvironment,
- this._instrumentation, this.legacyMode);
+ InterfaceResolver(
+ this._typeInferenceEngine, this._typeEnvironment, this._instrumentation);
/// Indicates whether the "prepare" phase of type inference is complete.
bool get isTypeInferencePrepared =>
@@ -924,9 +919,7 @@
return;
}
}
- if (!legacyMode &&
- member.enclosingClass == class_ &&
- _requiresTypeInference(member)) {
+ if (member.enclosingClass == class_ && _requiresTypeInference(member)) {
inferMethodType(library, class_, member, candidates, start + 1, end);
}
var forwardingNode = new ForwardingNode(
@@ -1067,7 +1060,7 @@
if (resolution is Procedure &&
resolution.isSyntheticForwarder &&
identical(resolution.enclosingClass, class_)) {
- if (!legacyMode) class_.addMember(resolution);
+ class_.addMember(resolution);
_instrumentation?.record(
class_.location.file,
class_.fileOffset,
@@ -1128,10 +1121,10 @@
Uri fileUri) {
InferenceNode node;
if (procedure.isAccessor && _requiresTypeInference(procedure)) {
- if (!legacyMode && start < end) {
+ if (start < end) {
node = new AccessorInferenceNode(
this, procedure, candidates, start, end, library, fileUri);
- } else if (!legacyMode && crossStart < crossEnd) {
+ } else if (crossStart < crossEnd) {
node = new AccessorInferenceNode(this, procedure, candidates,
crossStart, crossEnd, library, fileUri);
} else if (procedure is SyntheticAccessor &&
diff --git a/pkg/front_end/test/fasta/type_inference/interface_resolver_test.dart b/pkg/front_end/test/fasta/type_inference/interface_resolver_test.dart
index 638bb34..d34cb01 100644
--- a/pkg/front_end/test/fasta/type_inference/interface_resolver_test.dart
+++ b/pkg/front_end/test/fasta/type_inference/interface_resolver_test.dart
@@ -52,7 +52,7 @@
InterfaceResolver get interfaceResolver {
return cachedInterfaceResolver ??=
- new InterfaceResolver(null, typeEnvironment, null, false);
+ new InterfaceResolver(null, typeEnvironment, null);
}
InterfaceType get intType => coreTypes.intClass.rawType;