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'; | |
ahe
2013/08/06 16:29:17
Remove unneeded import.
Johnni Winther
2013/08/27 11:05:00
Done.
| |
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 |