OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 import 'dart:io'; | 5 import 'dart:io'; |
6 | 6 |
7 import 'dart:async' show | 7 import 'dart:async' show |
8 EventSink, | 8 EventSink, |
9 Future, | 9 Future, |
10 Stream, | 10 Stream, |
11 StreamController, | 11 StreamController, |
12 StreamSubscription; | 12 StreamSubscription; |
13 | 13 |
14 import 'package:dart2js_incremental/dart2js_incremental.dart' show | 14 import 'package:dart2js_incremental/dart2js_incremental.dart' show |
15 IncrementalCompilationFailed, | 15 IncrementalCompilationFailed, |
16 IncrementalCompiler; | 16 IncrementalCompiler; |
17 | 17 |
| 18 import 'package:compiler/compiler_new.dart' show |
| 19 CompilerOutput; |
| 20 |
| 21 import 'package:compiler/src/old_to_new_api.dart' show |
| 22 LegacyCompilerDiagnostics, |
| 23 LegacyCompilerInput; |
| 24 |
18 import 'package:compiler/src/source_file_provider.dart' show | 25 import 'package:compiler/src/source_file_provider.dart' show |
19 FormattingDiagnosticHandler; | 26 FormattingDiagnosticHandler; |
20 | 27 |
21 import 'watcher.dart'; | 28 import 'watcher.dart'; |
22 | 29 |
23 main(List<String> arguments) { | 30 main(List<String> arguments) { |
24 int updateCount = 0; | 31 int updateCount = 0; |
25 StreamSubscription<CompilerEvent> subscription = | 32 StreamSubscription<CompilerEvent> subscription = |
26 compile(Uri.base.resolve(arguments.first)).listen(null); | 33 compile(Uri.base.resolve(arguments.first)).listen(null); |
27 subscription.onData((CompilerEvent event) { | 34 subscription.onData((CompilerEvent event) { |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 } | 104 } |
98 } | 105 } |
99 return diagnosticHandler.provider(uri); | 106 return diagnosticHandler.provider(uri); |
100 } | 107 } |
101 | 108 |
102 while (true) { | 109 while (true) { |
103 Stopwatch sw = new Stopwatch()..start(); | 110 Stopwatch sw = new Stopwatch()..start(); |
104 IncrementalCompiler compiler = new IncrementalCompiler( | 111 IncrementalCompiler compiler = new IncrementalCompiler( |
105 libraryRoot: libraryRoot, | 112 libraryRoot: libraryRoot, |
106 packageRoot: packageRoot, | 113 packageRoot: packageRoot, |
107 inputProvider: inputProvider, | 114 inputProvider: new LegacyCompilerInput(inputProvider), |
108 diagnosticHandler: resilientDiagnosticHandler, | 115 diagnosticHandler: |
| 116 new LegacyCompilerDiagnostics(resilientDiagnosticHandler), |
109 outputProvider: outputProvider); | 117 outputProvider: outputProvider); |
110 | 118 |
111 bool success = await compiler.compile(originalInput); | 119 bool success = await compiler.compile(originalInput); |
112 sw.stop(); | 120 sw.stop(); |
113 if (success) { | 121 if (success) { |
114 controller.add( | 122 controller.add( |
115 new CompilerEvent( | 123 new CompilerEvent( |
116 IncrementalKind.FULL, compiler, outputProvider.output, sw)); | 124 IncrementalKind.FULL, compiler, outputProvider.output, sw)); |
117 } else { | 125 } else { |
118 controller.add( | 126 controller.add( |
(...skipping 16 matching lines...) Expand all Loading... |
135 | 143 |
136 } on IncrementalCompilationFailed catch (error, trace) { | 144 } on IncrementalCompilationFailed catch (error, trace) { |
137 controller.addError(error, trace); | 145 controller.addError(error, trace); |
138 break; | 146 break; |
139 } | 147 } |
140 } | 148 } |
141 } | 149 } |
142 } | 150 } |
143 | 151 |
144 /// Output provider which collects output in [output]. | 152 /// Output provider which collects output in [output]. |
145 class OutputProvider { | 153 class OutputProvider implements CompilerOutput { |
146 final Map<String, String> output = new Map<String, String>(); | 154 final Map<String, String> output = new Map<String, String>(); |
147 | 155 |
148 EventSink<String> call(String name, String extension) { | 156 EventSink<String> createSink(String name, String extension) { |
149 return new StringEventSink((String data) { | 157 return new StringEventSink((String data) { |
150 output['$name.$extension'] = data; | 158 output['$name.$extension'] = data; |
151 }); | 159 }); |
152 } | 160 } |
153 | 161 |
154 String operator[](String key) => output[key]; | 162 String operator[](String key) => output[key]; |
155 } | 163 } |
156 | 164 |
157 /// Helper class to collect sources. | 165 /// Helper class to collect sources. |
158 class StringEventSink implements EventSink<String> { | 166 class StringEventSink implements EventSink<String> { |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 | 202 |
195 final Stopwatch stopwatch; | 203 final Stopwatch stopwatch; |
196 | 204 |
197 final String updates; | 205 final String updates; |
198 | 206 |
199 CompilerEvent( | 207 CompilerEvent( |
200 this.kind, this.compiler, this._output, this.stopwatch, {this.updates}); | 208 this.kind, this.compiler, this._output, this.stopwatch, {this.updates}); |
201 | 209 |
202 String operator[](String key) => _output[key]; | 210 String operator[](String key) => _output[key]; |
203 } | 211 } |
OLD | NEW |