| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 library deferred_load; | 5 library deferred_load; |
| 6 | 6 |
| 7 import 'dart:collection' | 7 import 'dart:collection' |
| 8 show LinkedHashMap, | 8 show LinkedHashMap, |
| 9 LinkedHashSet; | 9 LinkedHashSet; |
| 10 | 10 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 final Set<LibraryElement> deferredLibraries = | 40 final Set<LibraryElement> deferredLibraries = |
| 41 new LinkedHashSet<LibraryElement>(); | 41 new LinkedHashSet<LibraryElement>(); |
| 42 | 42 |
| 43 /// Records all elements that are deferred. | 43 /// Records all elements that are deferred. |
| 44 /// | 44 /// |
| 45 /// Long term, we want to split deferred element into more than one | 45 /// Long term, we want to split deferred element into more than one |
| 46 /// file (one for each library that is deferred), and this field | 46 /// file (one for each library that is deferred), and this field |
| 47 /// should become obsolete. | 47 /// should become obsolete. |
| 48 final Set<Element> allDeferredElements = new LinkedHashSet<Element>(); | 48 final Set<Element> allDeferredElements = new LinkedHashSet<Element>(); |
| 49 | 49 |
| 50 ClassElement cachedDeferredLibraryClass; | |
| 51 | |
| 52 DeferredLoadTask(Compiler compiler) : super(compiler); | 50 DeferredLoadTask(Compiler compiler) : super(compiler); |
| 53 | 51 |
| 54 String get name => 'Deferred Loading'; | 52 String get name => 'Deferred Loading'; |
| 55 | 53 |
| 56 /// DeferredLibrary from dart:async | 54 /// DeferredLibrary from dart:async |
| 57 ClassElement get deferredLibraryClass => compiler.deferredLibraryClass; | 55 ClassElement get deferredLibraryClass => compiler.deferredLibraryClass; |
| 58 | 56 |
| 59 bool get areAnyElementsDeferred => !allDeferredElements.isEmpty; | 57 bool get areAnyElementsDeferred => !allDeferredElements.isEmpty; |
| 60 | 58 |
| 61 bool isDeferred(Element element) { | 59 bool isDeferred(Element element) { |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 compiler.enqueuer.resolution.getCachedElements(element); | 242 compiler.enqueuer.resolution.getCachedElements(element); |
| 245 if (elements == null) return new LinkedHashSet<Element>(); | 243 if (elements == null) return new LinkedHashSet<Element>(); |
| 246 Node node = element.parseNode(compiler); | 244 Node node = element.parseNode(compiler); |
| 247 if (node == null) return new LinkedHashSet<Element>(); | 245 if (node == null) return new LinkedHashSet<Element>(); |
| 248 var collector = new DependencyCollector(elements, compiler); | 246 var collector = new DependencyCollector(elements, compiler); |
| 249 node.accept(collector); | 247 node.accept(collector); |
| 250 collector.dependencies.addAll(elements.otherDependencies); | 248 collector.dependencies.addAll(elements.otherDependencies); |
| 251 return collector.dependencies; | 249 return collector.dependencies; |
| 252 } | 250 } |
| 253 } | 251 } |
| OLD | NEW |