Revert "[dartdevc] Fixing issue related to dual exports of multiple entrypoints in a cyclic import loop."
This reverts commit 53895b22707d986776db19d4c953d9d3b0178401.
Reason for revert: Replacing this change with a new strategy for better module reordering.
Original change's description:
> [dartdevc] Fixing issue related to dual exports of multiple entrypoints in a cyclic import loop.
>
> See: https://github.com/flutter/flutter/issues/64011
> Change-Id: I8a11e9d3f19428a516cf7a60ee45c3bacf26545d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162383
> Commit-Queue: Mark Zhou <markzipan@google.com>
> Reviewed-by: Nicholas Shahan <nshahan@google.com>
TBR=sigmund@google.com,nshahan@google.com,markzipan@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Iee91d33d1696ffa7406b724466144ab06af80394
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165873
Commit-Queue: Mark Zhou <markzipan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
diff --git a/pkg/dev_compiler/lib/src/kernel/compiler.dart b/pkg/dev_compiler/lib/src/kernel/compiler.dart
index cd7ebd3..7e7566e 100644
--- a/pkg/dev_compiler/lib/src/kernel/compiler.dart
+++ b/pkg/dev_compiler/lib/src/kernel/compiler.dart
@@ -882,21 +882,16 @@
var savedTopLevelClass = _classEmittingExtends;
_classEmittingExtends = c;
- // Refers to 'S' in `class C extends S`. Set this to null to avoid
- // referencing deferred supertypes in _emitClassConstructor's JS output.
- js_ast.Expression baseClass;
-
+ // Unroll mixins.
if (shouldDefer(supertype)) {
deferredSupertypes.add(runtimeStatement('setBaseClass(#, #)', [
getBaseClass(isMixinAliasClass(c) ? 0 : mixinApplications.length),
emitDeferredType(supertype),
]));
- // Refers to 'supertype' without any type arguments.
supertype =
_coreTypes.rawType(supertype.classNode, _currentLibrary.nonNullable);
- } else {
- baseClass = emitClassRef(supertype);
}
+ var baseClass = emitClassRef(supertype);
if (isMixinAliasClass(c)) {
// Given `class C = Object with M [implements I1, I2 ...];`