OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of dart2js.js_emitter.program_builder; | 5 part of dart2js.js_emitter.program_builder; |
6 | 6 |
7 /** | 7 /** |
8 * Generates the code for all used classes in the program. Static fields (even | 8 * Generates the code for all used classes in the program. Static fields (even |
9 * in classes) are ignored, since they can be treated as non-class elements. | 9 * in classes) are ignored, since they can be treated as non-class elements. |
10 * | 10 * |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 | 274 |
275 for (Element element in Elements.sortedByPosition(elements)) { | 275 for (Element element in Elements.sortedByPosition(elements)) { |
276 List<Element> list = outputStaticLists.putIfAbsent( | 276 List<Element> list = outputStaticLists.putIfAbsent( |
277 compiler.deferredLoadTask.outputUnitForElement(element), | 277 compiler.deferredLoadTask.outputUnitForElement(element), |
278 () => new List<Element>()); | 278 () => new List<Element>()); |
279 list.add(element); | 279 list.add(element); |
280 } | 280 } |
281 } | 281 } |
282 | 282 |
283 void computeNeededStaticNonFinalFields() { | 283 void computeNeededStaticNonFinalFields() { |
284 JavaScriptConstantCompiler handler = backend.constants; | |
285 addToOutputUnit(Element element) { | 284 addToOutputUnit(Element element) { |
286 List<VariableElement> list = outputStaticNonFinalFieldLists.putIfAbsent( | 285 List<VariableElement> list = outputStaticNonFinalFieldLists.putIfAbsent( |
287 compiler.deferredLoadTask.outputUnitForElement(element), | 286 compiler.deferredLoadTask.outputUnitForElement(element), |
288 () => new List<VariableElement>()); | 287 () => new List<VariableElement>()); |
289 list.add(element); | 288 list.add(element); |
290 } | 289 } |
291 | 290 |
292 Iterable<Element> fields = compiler | 291 Iterable<Element> fields = compiler |
293 // TODO(johnniwinther): This should be accessed from a codegen closed | 292 // TODO(johnniwinther): This should be accessed from a codegen closed |
294 // world. | 293 // world. |
(...skipping 29 matching lines...) Expand all Loading... |
324 } | 323 } |
325 | 324 |
326 void collect() { | 325 void collect() { |
327 computeNeededDeclarations(); | 326 computeNeededDeclarations(); |
328 computeNeededConstants(); | 327 computeNeededConstants(); |
329 computeNeededStatics(); | 328 computeNeededStatics(); |
330 computeNeededStaticNonFinalFields(); | 329 computeNeededStaticNonFinalFields(); |
331 computeNeededLibraries(); | 330 computeNeededLibraries(); |
332 } | 331 } |
333 } | 332 } |
OLD | NEW |