Index: pkg/compiler/lib/src/js_emitter/code_emitter_task.dart |
diff --git a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart |
index 23c282ef27df1b22a462335d8bc06a5621aa5c12..59fe76ae18539aa14655ccfd8bffa0443f91e259 100644 |
--- a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart |
+++ b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart |
@@ -10,7 +10,7 @@ const USE_NEW_EMITTER = const bool.fromEnvironment("dart2js.use.new.emitter"); |
* Generates the code for all used classes in the program. Static fields (even |
* in classes) are ignored, since they can be treated as non-class elements. |
* |
- * The code for the containing (used) methods must exist in the [:universe:]. |
+ * The code for the containing (used) methods must exist in the `universe`. |
*/ |
class CodeEmitterTask extends CompilerTask { |
// TODO(floitsch): the code-emitter task should not need a namer. |
@@ -363,8 +363,9 @@ class CodeEmitterTask extends CompilerTask { |
void computeNeededStaticNonFinalFields() { |
JavaScriptConstantCompiler handler = backend.constants; |
- Iterable<VariableElement> staticNonFinalFields = |
- handler.getStaticNonFinalFieldsForEmission(); |
+ Iterable<VariableElement> staticNonFinalFields = handler |
+ .getStaticNonFinalFieldsForEmission() |
+ .where(compiler.codegenWorld.allReferencedStaticFields.contains); |
for (Element element in Elements.sortedByPosition(staticNonFinalFields)) { |
List<VariableElement> list = outputStaticNonFinalFieldLists.putIfAbsent( |
compiler.deferredLoadTask.outputUnitForElement(element), |