Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(533)

Side by Side Diff: pkg/polymer/lib/src/build/script_compactor.dart

Issue 315813003: Support using a mock SDK with the resolver in code-transformers, and switch (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pkg/code_transformers/test/resolver_test.dart ('k') | pkg/polymer/pubspec.yaml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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(sdkDir != null ? sdkDir : dartSdkDirectory);
51 : resolvers = new Resolvers.fromMock({
52 // The list of types below is derived from:
53 // * types we use via our smoke queries, including HtmlElement and
54 // types from `_typeHandlers` (deserialize.dart)
55 // * types that are used internally by the resolver (see
56 // _initializeFrom in resolver.dart).
57 'dart:core': '''
58 library dart.core;
59 class Object {}
60 class Function {}
61 class StackTrace {}
62 class Symbol {}
63 class Type {}
64
65 class String extends Object {}
66 class bool extends Object {}
67 class num extends Object {}
68 class int extends num {}
69 class double extends num {}
70 class DateTime extends Object {}
71 class Null extends Object {}
72
73 class Deprecated extends Object {
74 final String expires;
75 const Deprecated(this.expires);
76 }
77 const Object deprecated = const Deprecated("next release");
78
79 class List<V> extends Object {}
80 class Map<K, V> extends Object {}
81 ''',
82 'dart:html': '''
83 library dart.html;
84 class HtmlElement {}
85 ''',
86 });
87
88
49 89
50 /// Only run on entry point .html files. 90 /// Only run on entry point .html files.
51 // TODO(nweiz): This should just take an AssetId when barback <0.13.0 support 91 // TODO(nweiz): This should just take an AssetId when barback <0.13.0 support
52 // is dropped. 92 // is dropped.
53 Future<bool> isPrimary(idOrAsset) { 93 Future<bool> isPrimary(idOrAsset) {
54 var id = idOrAsset is AssetId ? idOrAsset : idOrAsset.id; 94 var id = idOrAsset is AssetId ? idOrAsset : idOrAsset.id;
55 return new Future.value(options.isHtmlEntryPoint(id)); 95 return new Future.value(options.isHtmlEntryPoint(id));
56 } 96 }
57 97
58 Future apply(Transform transform) => 98 Future apply(Transform transform) =>
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 for (var c in combinators) { 760 for (var c in combinators) {
721 if (c is ShowElementCombinator) { 761 if (c is ShowElementCombinator) {
722 var show = c.shownNames.toSet(); 762 var show = c.shownNames.toSet();
723 elements.retainWhere((e) => show.contains(e.displayName)); 763 elements.retainWhere((e) => show.contains(e.displayName));
724 } else if (c is HideElementCombinator) { 764 } else if (c is HideElementCombinator) {
725 var hide = c.hiddenNames.toSet(); 765 var hide = c.hiddenNames.toSet();
726 elements.removeWhere((e) => hide.contains(e.displayName)); 766 elements.removeWhere((e) => hide.contains(e.displayName));
727 } 767 }
728 } 768 }
729 } 769 }
OLDNEW
« no previous file with comments | « pkg/code_transformers/test/resolver_test.dart ('k') | pkg/polymer/pubspec.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698