| OLD | NEW |
| 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 file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library fasta; | 5 library fasta; |
| 6 | 6 |
| 7 import 'dart:async' show Future; | 7 import 'dart:async' show Future; |
| 8 | 8 |
| 9 import 'dart:convert' show JSON; | 9 import 'dart:convert' show JSON; |
| 10 | 10 |
| 11 import 'dart:io' show BytesBuilder, File, exitCode; | 11 import 'dart:io' show BytesBuilder, File, exitCode; |
| 12 | 12 |
| 13 import 'package:front_end/physical_file_system.dart'; | 13 import 'package:front_end/physical_file_system.dart'; |
| 14 import 'package:front_end/src/fasta/kernel/utils.dart'; | 14 import 'package:front_end/src/fasta/kernel/utils.dart'; |
| 15 | 15 |
| 16 import 'package:kernel/kernel.dart' show Program, loadProgramFromBytes; | 16 import 'package:kernel/kernel.dart' show Program, loadProgramFromBytes; |
| 17 | 17 |
| 18 import 'compiler_command_line.dart' show CompilerCommandLine; | 18 import 'compiler_command_line.dart' show CompilerCommandLine; |
| 19 | 19 |
| 20 import 'compiler_context.dart' show CompilerContext; | 20 import 'compiler_context.dart' show CompilerContext; |
| 21 | 21 |
| 22 import 'errors.dart' show InputError, inputError; | 22 import 'deprecated_problems.dart' |
| 23 show deprecated_InputError, deprecated_inputError; |
| 23 | 24 |
| 24 import 'kernel/kernel_target.dart' show KernelTarget; | 25 import 'kernel/kernel_target.dart' show KernelTarget; |
| 25 | 26 |
| 26 import 'dill/dill_target.dart' show DillTarget; | 27 import 'dill/dill_target.dart' show DillTarget; |
| 27 | 28 |
| 28 import 'compile_platform.dart' show compilePlatformInternal; | 29 import 'compile_platform.dart' show compilePlatformInternal; |
| 29 | 30 |
| 30 import 'ticker.dart' show Ticker; | 31 import 'ticker.dart' show Ticker; |
| 31 | 32 |
| 32 import 'translate_uri.dart' show TranslateUri; | 33 import 'translate_uri.dart' show TranslateUri; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 try { | 69 try { |
| 69 return await CompilerCommandLine.withGlobalOptions("outline", arguments, | 70 return await CompilerCommandLine.withGlobalOptions("outline", arguments, |
| 70 (CompilerContext c) async { | 71 (CompilerContext c) async { |
| 71 if (c.options.verbose) { | 72 if (c.options.verbose) { |
| 72 print("Building outlines for ${arguments.join(' ')}"); | 73 print("Building outlines for ${arguments.join(' ')}"); |
| 73 } | 74 } |
| 74 CompileTask task = | 75 CompileTask task = |
| 75 new CompileTask(c, new Ticker(isVerbose: c.options.verbose)); | 76 new CompileTask(c, new Ticker(isVerbose: c.options.verbose)); |
| 76 return await task.buildOutline(c.options.output); | 77 return await task.buildOutline(c.options.output); |
| 77 }); | 78 }); |
| 78 } on InputError catch (e) { | 79 } on deprecated_InputError catch (e) { |
| 79 exitCode = 1; | 80 exitCode = 1; |
| 80 print(e.format()); | 81 print(e.deprecated_format()); |
| 81 return null; | 82 return null; |
| 82 } | 83 } |
| 83 } | 84 } |
| 84 | 85 |
| 85 Future<Uri> compile(List<String> arguments) async { | 86 Future<Uri> compile(List<String> arguments) async { |
| 86 try { | 87 try { |
| 87 return await CompilerCommandLine.withGlobalOptions("compile", arguments, | 88 return await CompilerCommandLine.withGlobalOptions("compile", arguments, |
| 88 (CompilerContext c) async { | 89 (CompilerContext c) async { |
| 89 if (c.options.verbose) { | 90 if (c.options.verbose) { |
| 90 print("Compiling directly to Kernel: ${arguments.join(' ')}"); | 91 print("Compiling directly to Kernel: ${arguments.join(' ')}"); |
| 91 } | 92 } |
| 92 CompileTask task = | 93 CompileTask task = |
| 93 new CompileTask(c, new Ticker(isVerbose: c.options.verbose)); | 94 new CompileTask(c, new Ticker(isVerbose: c.options.verbose)); |
| 94 return await task.compile(); | 95 return await task.compile(); |
| 95 }); | 96 }); |
| 96 } on InputError catch (e) { | 97 } on deprecated_InputError catch (e) { |
| 97 exitCode = 1; | 98 exitCode = 1; |
| 98 print(e.format()); | 99 print(e.deprecated_format()); |
| 99 return null; | 100 return null; |
| 100 } | 101 } |
| 101 } | 102 } |
| 102 | 103 |
| 103 class CompileTask { | 104 class CompileTask { |
| 104 final CompilerContext c; | 105 final CompilerContext c; |
| 105 final Ticker ticker; | 106 final Ticker ticker; |
| 106 | 107 |
| 107 CompileTask(this.c, this.ticker); | 108 CompileTask(this.c, this.ticker); |
| 108 | 109 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 129 Uri platform = c.options.platform; | 130 Uri platform = c.options.platform; |
| 130 if (platform != null) { | 131 if (platform != null) { |
| 131 _appendDillForUri(dillTarget, platform); | 132 _appendDillForUri(dillTarget, platform); |
| 132 } | 133 } |
| 133 String argument = c.options.arguments.first; | 134 String argument = c.options.arguments.first; |
| 134 Uri uri = Uri.base.resolve(argument); | 135 Uri uri = Uri.base.resolve(argument); |
| 135 String path = uriTranslator.translate(uri)?.path ?? argument; | 136 String path = uriTranslator.translate(uri)?.path ?? argument; |
| 136 if (path.endsWith(".dart")) { | 137 if (path.endsWith(".dart")) { |
| 137 kernelTarget.read(uri); | 138 kernelTarget.read(uri); |
| 138 } else { | 139 } else { |
| 139 inputError(uri, -1, "Unexpected input: $uri"); | 140 deprecated_inputError(uri, -1, "Unexpected input: $uri"); |
| 140 } | 141 } |
| 141 await dillTarget.buildOutlines(); | 142 await dillTarget.buildOutlines(); |
| 142 var outline = await kernelTarget.buildOutlines(); | 143 var outline = await kernelTarget.buildOutlines(); |
| 143 if (c.options.dumpIr && output != null) { | 144 if (c.options.dumpIr && output != null) { |
| 144 printProgramText(outline, libraryFilter: kernelTarget.isSourceLibrary); | 145 printProgramText(outline, libraryFilter: kernelTarget.isSourceLibrary); |
| 145 } | 146 } |
| 146 if (output != null) { | 147 if (output != null) { |
| 147 await writeProgramToFile(outline, output); | 148 await writeProgramToFile(outline, output); |
| 148 ticker.logMs("Wrote outline to ${output.toFilePath()}"); | 149 ticker.logMs("Wrote outline to ${output.toFilePath()}"); |
| 149 } | 150 } |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 final BytesBuilder builder = new BytesBuilder(); | 234 final BytesBuilder builder = new BytesBuilder(); |
| 234 | 235 |
| 235 void add(List<int> data) { | 236 void add(List<int> data) { |
| 236 builder.add(data); | 237 builder.add(data); |
| 237 } | 238 } |
| 238 | 239 |
| 239 void close() { | 240 void close() { |
| 240 // Nothing to do. | 241 // Nothing to do. |
| 241 } | 242 } |
| 242 } | 243 } |
| OLD | NEW |