Chromium Code Reviews| 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 /// Transfomer that combines multiple dart script tags into a single one. | 5 /// Transfomer that combines multiple dart script tags into a single one. |
| 6 library polymer.src.build.script_compactor; | 6 library polymer.src.build.script_compactor; |
| 7 | 7 |
| 8 import 'dart:async'; | 8 import 'dart:async'; |
| 9 import 'dart:convert'; | 9 import 'dart:convert'; |
| 10 | 10 |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 38 /// [ImportInliner] on an earlier phase. | 38 /// [ImportInliner] on an earlier phase. |
| 39 /// | 39 /// |
| 40 /// Internally, this transformer will convert each script tag into an import | 40 /// Internally, this transformer will convert each script tag into an import |
| 41 /// statement to a library, and then uses `initPolymer` (see polymer.dart) to | 41 /// statement to a library, and then uses `initPolymer` (see polymer.dart) to |
| 42 /// process `@initMethod` and `@CustomTag` annotations in those libraries. | 42 /// process `@initMethod` and `@CustomTag` annotations in those libraries. |
| 43 class ScriptCompactor extends Transformer { | 43 class ScriptCompactor extends Transformer { |
| 44 final Resolvers resolvers; | 44 final Resolvers resolvers; |
| 45 final TransformOptions options; | 45 final TransformOptions options; |
| 46 | 46 |
| 47 ScriptCompactor(this.options, {String sdkDir}) | 47 ScriptCompactor(this.options, {String sdkDir}) |
| 48 : resolvers = new Resolvers(sdkDir != null ? sdkDir : dartSdkDirectory); | 48 // TODO(sigmund): consider restoring here a resolver that uses the real |
| 49 // SDK once the analyzer is lazy and only an resolves what it needs: | |
| 50 //: resolvers = new Resolvers.fromSdkDirectory( | |
| 51 // sdkDir != null ? sdkDir : dartSdkDirectory); | |
| 52 : resolvers = new Resolvers.fromMock({ | |
| 53 'dart:core': ''' | |
|
Jennifer Messerly
2014/06/04 04:17:39
just curious, how was this list chosen?
Siggi Cherem (dart-lang)
2014/06/04 21:25:19
The list of libraries was a bit adhoc, I was addin
| |
| 54 library dart.core; | |
| 55 class Object {} | |
| 56 | |
| 57 class String extends Object {} | |
| 58 class num extends Object {} | |
| 59 class int extends num {} | |
| 60 class double extends num {} | |
| 61 class List<V> extends Object {} | |
| 62 class Map<K, V> extends Object {} | |
| 63 class Set<V> extends Object {} | |
| 64 ''', | |
| 65 'dart:async': 'library dart.async;', | |
| 66 'dart:html': ''' | |
| 67 library dart.html; | |
| 68 class HtmlElement {} | |
| 69 ''', | |
| 70 'dart:math': 'library dart.math;', | |
| 71 'dart:collection': 'library dart.collection;', | |
| 72 'dart:js': 'library dart.js;', | |
| 73 'dart:svg': 'library dart.svg;', | |
| 74 'dart:convert': 'library dart.convert;', | |
| 75 'dart:mirrors': 'library dart.mirrors;', | |
| 76 'dart:isolate': 'library dart.isolate;', | |
| 77 }); | |
| 78 | |
| 79 | |
| 49 | 80 |
| 50 /// Only run on entry point .html files. | 81 /// Only run on entry point .html files. |
| 51 // TODO(nweiz): This should just take an AssetId when barback <0.13.0 support | 82 // TODO(nweiz): This should just take an AssetId when barback <0.13.0 support |
| 52 // is dropped. | 83 // is dropped. |
| 53 Future<bool> isPrimary(idOrAsset) { | 84 Future<bool> isPrimary(idOrAsset) { |
| 54 var id = idOrAsset is AssetId ? idOrAsset : idOrAsset.id; | 85 var id = idOrAsset is AssetId ? idOrAsset : idOrAsset.id; |
| 55 return new Future.value(options.isHtmlEntryPoint(id)); | 86 return new Future.value(options.isHtmlEntryPoint(id)); |
| 56 } | 87 } |
| 57 | 88 |
| 58 Future apply(Transform transform) => | 89 Future apply(Transform transform) => |
| (...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 720 for (var c in combinators) { | 751 for (var c in combinators) { |
| 721 if (c is ShowElementCombinator) { | 752 if (c is ShowElementCombinator) { |
| 722 var show = c.shownNames.toSet(); | 753 var show = c.shownNames.toSet(); |
| 723 elements.retainWhere((e) => show.contains(e.displayName)); | 754 elements.retainWhere((e) => show.contains(e.displayName)); |
| 724 } else if (c is HideElementCombinator) { | 755 } else if (c is HideElementCombinator) { |
| 725 var hide = c.hiddenNames.toSet(); | 756 var hide = c.hiddenNames.toSet(); |
| 726 elements.removeWhere((e) => hide.contains(e.displayName)); | 757 elements.removeWhere((e) => hide.contains(e.displayName)); |
| 727 } | 758 } |
| 728 } | 759 } |
| 729 } | 760 } |
| OLD | NEW |