Index: pkg/compiler/lib/src/js_emitter/program_builder.dart |
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder.dart b/pkg/compiler/lib/src/js_emitter/program_builder.dart |
index 0b901412ee4ef0eb11f20b8a15237cb5429b5103..8b55f58ca95c810128231e62e3dd7851610a6a42 100644 |
--- a/pkg/compiler/lib/src/js_emitter/program_builder.dart |
+++ b/pkg/compiler/lib/src/js_emitter/program_builder.dart |
@@ -199,14 +199,11 @@ class ProgramBuilder { |
} |
List<StaticField> _buildStaticNonFinalFields(LibrariesMap librariesMap) { |
- // TODO(floitsch): handle static non-final fields correctly with deferred |
- // libraries. |
- if (librariesMap != _registry.mainLibrariesMap) { |
- return const <StaticField>[]; |
- } |
- Iterable<VariableElement> staticNonFinalFields = |
- backend.constants.getStaticNonFinalFieldsForEmission(); |
- return Elements.sortedByPosition(staticNonFinalFields) |
+ List<VariableElement> staticNonFinalFields = |
+ _task.outputStaticNonFinalFieldLists[librariesMap.outputUnit]; |
+ if (staticNonFinalFields == null) return const <StaticField>[]; |
+ |
+ return staticNonFinalFields |
.map(_buildStaticField) |
.toList(growable: false); |
} |