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

Side by Side Diff: pkg/front_end/lib/src/fasta/testing/kernel_chain.dart

Issue 2675603002: Reduce strong mode errors and warnings (Closed)
Patch Set: Created 3 years, 10 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 // TODO(ahe): Copied from closure_conversion branch of kernel, remove this file 5 // TODO(ahe): Copied from closure_conversion branch of kernel, remove this file
6 // when closure_conversion is merged with master. 6 // when closure_conversion is merged with master.
7 7
8 library kernel.testing.kernel_chain; 8 library kernel.testing.kernel_chain;
9 9
10 import 'dart:async' show 10 import 'dart:async' show
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 } 185 }
186 target.transformProgram(program); 186 target.transformProgram(program);
187 return pass(program); 187 return pass(program);
188 } catch (e, s) { 188 } catch (e, s) {
189 return crash(e, s); 189 return crash(e, s);
190 } 190 }
191 } 191 }
192 } 192 }
193 193
194 194
195 class Print extends Step<Program, Program, dynamic> { 195 class Print extends Step<Program, Program, TestContext> {
196 const Print(); 196 const Print();
197 197
198 String get name => "print"; 198 String get name => "print";
199 199
200 Future<Result<Program>> run(Program program, _) async { 200 Future<Result<Program>> run(Program program, _) async {
201 StringBuffer sb = new StringBuffer(); 201 StringBuffer sb = new StringBuffer();
202 for (Library library in program.libraries) { 202 for (Library library in program.libraries) {
203 Printer printer = new Printer(sb); 203 Printer printer = new Printer(sb);
204 if (library.importUri.scheme != "dart" && 204 if (library.importUri.scheme != "dart" &&
205 library.importUri.scheme != "package") { 205 library.importUri.scheme != "package") {
206 printer.writeLibraryFile(library); 206 printer.writeLibraryFile(library);
207 } 207 }
208 } 208 }
209 print("$sb"); 209 print("$sb");
210 return pass(program); 210 return pass(program);
211 } 211 }
212 } 212 }
213 213
214 class Verify extends Step<Program, Program, dynamic> { 214 class Verify extends Step<Program, Program, TestContext> {
215 final bool fullCompile; 215 final bool fullCompile;
216 216
217 const Verify(this.fullCompile); 217 const Verify(this.fullCompile);
218 218
219 String get name => "verify"; 219 String get name => "verify";
220 220
221 Future<Result<Program>> run(Program program, TestContext testContext) async { 221 Future<Result<Program>> run(Program program, TestContext testContext) async {
222 try { 222 try {
223 program.accept(new VerifyingVisitor()..isOutline = !fullCompile); 223 program.accept(new VerifyingVisitor()..isOutline = !fullCompile);
224 return pass(program); 224 return pass(program);
225 } catch (e, s) { 225 } catch (e, s) {
226 return new Result<Program>( 226 return new Result<Program>(
227 null, testContext.expectationSet["VerificationError"], e, s); 227 null, testContext.expectationSet["VerificationError"], e, s);
228 } 228 }
229 } 229 }
230 } 230 }
231 231
232 class MatchExpectation extends Step<Program, Program, dynamic> { 232 class MatchExpectation extends Step<Program, Program, TestContext> {
233 final String suffix; 233 final String suffix;
234 234
235 // TODO(ahe): This is true by default which doesn't match well with the class 235 // TODO(ahe): This is true by default which doesn't match well with the class
236 // name. 236 // name.
237 final bool updateExpectations; 237 final bool updateExpectations;
238 238
239 const MatchExpectation(this.suffix, {this.updateExpectations: true}); 239 const MatchExpectation(this.suffix, {this.updateExpectations: true});
240 240
241 String get name => "match expectations"; 241 String get name => "match expectations";
242 242
(...skipping 28 matching lines...) Expand all
271 }); 271 });
272 return pass(program); 272 return pass(program);
273 } else { 273 } else {
274 return fail(program, """ 274 return fail(program, """
275 Please create file ${expectedFile.path} with this content: 275 Please create file ${expectedFile.path} with this content:
276 $buffer"""); 276 $buffer""");
277 } 277 }
278 } 278 }
279 } 279 }
280 280
281 class WriteDill extends Step<Program, Uri, dynamic> { 281 class WriteDill extends Step<Program, Uri, TestContext> {
282 const WriteDill(); 282 const WriteDill();
283 283
284 String get name => "write .dill"; 284 String get name => "write .dill";
285 285
286 Future<Result<Uri>> run(Program program, _) async { 286 Future<Result<Uri>> run(Program program, _) async {
287 Directory tmp = await Directory.systemTemp.createTemp(); 287 Directory tmp = await Directory.systemTemp.createTemp();
288 Uri uri = tmp.uri.resolve("generated.dill"); 288 Uri uri = tmp.uri.resolve("generated.dill");
289 File generated = new File.fromUri(uri); 289 File generated = new File.fromUri(uri);
290 IOSink sink = generated.openWrite(); 290 IOSink sink = generated.openWrite();
291 try { 291 try {
292 new BinaryPrinter(sink).writeProgramFile(program); 292 new BinaryPrinter(sink).writeProgramFile(program);
293 } catch (e, s) { 293 } catch (e, s) {
294 return fail(uri, e, s); 294 return fail(uri, e, s);
295 } finally { 295 } finally {
296 print("Wrote `${generated.path}`"); 296 print("Wrote `${generated.path}`");
297 await sink.close(); 297 await sink.close();
298 } 298 }
299 return pass(uri); 299 return pass(uri);
300 } 300 }
301 } 301 }
302 302
303 class ReadDill extends Step<Uri, Uri, dynamic> { 303 class ReadDill extends Step<Uri, Uri, TestContext> {
304 const ReadDill(); 304 const ReadDill();
305 305
306 String get name => "read .dill"; 306 String get name => "read .dill";
307 307
308 Future<Result<Uri>> run(Uri uri, _) async { 308 Future<Result<Uri>> run(Uri uri, _) async {
309 try { 309 try {
310 loadProgramFromBinary(uri.toFilePath()); 310 loadProgramFromBinary(uri.toFilePath());
311 } catch (e, s) { 311 } catch (e, s) {
312 return fail(uri, e, s); 312 return fail(uri, e, s);
313 } 313 }
314 return pass(uri); 314 return pass(uri);
315 } 315 }
316 } 316 }
317 317
318 class Copy extends Step<Program, Program, dynamic> { 318 class Copy extends Step<Program, Program, TestContext> {
319 const Copy(); 319 const Copy();
320 320
321 String get name => "copy program"; 321 String get name => "copy program";
322 322
323 Future<Result<Program>> run(Program program, _) async { 323 Future<Result<Program>> run(Program program, _) async {
324 BytesCollector sink = new BytesCollector(); 324 BytesCollector sink = new BytesCollector();
325 new BinaryPrinter(sink).writeProgramFile(program); 325 new BinaryPrinter(sink).writeProgramFile(program);
326 Uint8List bytes = sink.collect(); 326 Uint8List bytes = sink.collect();
327 BinaryLoader loader = new BinaryLoader(new Repository()); 327 BinaryLoader loader = new BinaryLoader(new Repository());
328 return pass(new BinaryBuilder(loader, bytes).readProgramFile()); 328 return pass(new BinaryBuilder(loader, bytes).readProgramFile());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 385
386 Future openWrite(Uri uri, f(IOSink sink)) async { 386 Future openWrite(Uri uri, f(IOSink sink)) async {
387 IOSink sink = new File.fromUri(uri).openWrite(); 387 IOSink sink = new File.fromUri(uri).openWrite();
388 try { 388 try {
389 await f(sink); 389 await f(sink);
390 } finally { 390 } finally {
391 await sink.close(); 391 await sink.close();
392 } 392 }
393 print("Wrote $uri"); 393 print("Wrote $uri");
394 } 394 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698