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