| Index: pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
|
| index 69e3deaa21a3b486efac3a8551506f72e54028b8..3e1127847a59d29fe78f0bd8f7f61786925ac1f9 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
|
| @@ -794,13 +794,20 @@ class FragmentEmitter {
|
| List<js.Expression> inheritCalls = <js.Expression>[];
|
| List<js.Expression> mixinCalls = <js.Expression>[];
|
|
|
| + Set<Class> classesInFragment = new Set<Class>();
|
| + for (Library library in fragment.libraries) {
|
| + classesInFragment.addAll(library.classes);
|
| + }
|
| +
|
| Set<Class> emittedClasses = new Set<Class>();
|
|
|
| void emitInheritanceForClass(cls) {
|
| if (cls == null || emittedClasses.contains(cls)) return;
|
|
|
| Class superclass = cls.superclass;
|
| - emitInheritanceForClass(superclass);
|
| + if (classesInFragment.contains(superclass)) {
|
| + emitInheritanceForClass(superclass);
|
| + }
|
|
|
| js.Expression superclassReference = (superclass == null)
|
| ? new js.LiteralNull()
|
|
|