| Index: pkg/compiler/lib/src/js_backend/backend.dart
|
| diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
|
| index 5a467f5515caa27cf5ef87bf27bd1ff76d74db69..10c1b5350f61a5248845981149f54008b5d4b690 100644
|
| --- a/pkg/compiler/lib/src/js_backend/backend.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/backend.dart
|
| @@ -974,13 +974,12 @@ class JavaScriptBackend extends Backend {
|
| Iterable<MixinApplicationElement> uses = classWorld.mixinUsesOf(mixin);
|
| Set<ClassElement> result = null;
|
| for (MixinApplicationElement use in uses) {
|
| - Iterable<ClassElement> subclasses = classWorld.strictSubclassesOf(use);
|
| - for (ClassElement subclass in subclasses) {
|
| + classWorld.forEachStrictSubclassOf(use, (ClassElement subclass) {
|
| if (isNativeOrExtendsNative(subclass)) {
|
| if (result == null) result = new Set<ClassElement>();
|
| result.add(subclass);
|
| }
|
| - }
|
| + });
|
| }
|
| return result;
|
| }
|
| @@ -2191,7 +2190,7 @@ class JavaScriptBackend extends Backend {
|
| });
|
| // 4) all overriding members of subclasses/subtypes (should be resolved)
|
| if (compiler.world.hasAnyStrictSubtype(cls)) {
|
| - for (ClassElement subcls in compiler.world.strictSubtypesOf(cls)) {
|
| + compiler.world.forEachStrictSubtypeOf(cls, (ClassElement subcls) {
|
| subcls.forEachClassMember((Member member) {
|
| if (memberNames.contains(member.name)) {
|
| // TODO(20993): find out why this assertion fails.
|
| @@ -2202,7 +2201,7 @@ class JavaScriptBackend extends Backend {
|
| }
|
| }
|
| });
|
| - }
|
| + });
|
| }
|
| // 5) all its closures
|
| List<LocalFunctionElement> closures = closureMap[cls];
|
|
|