Chromium Code Reviews| Index: pkg/front_end/lib/src/fasta/kernel/kernel_target.dart |
| diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart |
| index 6d929ed07cf6d0da5336ea7299a3c6c6e2427709..59722bfa24ae88faff8d1c862df3de0eb0eed250 100644 |
| --- a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart |
| +++ b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart |
| @@ -101,7 +101,7 @@ class KernelTarget extends TargetImplementation { |
| SourceLoader<Library> loader; |
| Program _program; |
| - final List errors = []; |
| + final List<String> errors = <String>[]; |
|
Siggi Cherem (dart-lang)
2017/05/17 20:05:35
btw - in the future I would like to pass in some k
scheglov
2017/05/17 20:58:08
Which one? :-)
Sometimes these objects are strings
Siggi Cherem (dart-lang)
2017/05/17 21:08:31
likely a new one :)
maybe FastaMessage or some ne
ahe
2017/05/19 10:47:16
What's the purpose of this change?
scheglov
2017/05/19 15:53:53
I think typed collections are better then untyped.
ahe
2017/05/22 09:14:10
I'd appreciate if you tried to gather information
|
| final TypeBuilder dynamicType = |
| new KernelNamedTypeBuilder("dynamic", null, -1, null); |
| @@ -119,8 +119,9 @@ class KernelTarget extends TargetImplementation { |
| void addError(file, int charOffset, String message) { |
| Uri uri = file is String ? Uri.parse(file) : file; |
| InputError error = new InputError(uri, charOffset, message); |
| - print(error.format()); |
| - errors.add(error); |
| + String formatterMessage = error.format(); |
| + print(formatterMessage); |
| + errors.add(formatterMessage); |
| } |
| SourceLoader<Library> createLoader() => |
| @@ -275,7 +276,7 @@ class KernelTarget extends TargetImplementation { |
| } |
| @override |
| - Future<Program> buildProgram() async { |
| + Future<Program> buildProgram({bool verify: false}) async { |
| if (loader.first == null) return null; |
| if (errors.isNotEmpty) { |
| return handleInputError(null, null, isFullProgram: true); |
| @@ -287,6 +288,7 @@ class KernelTarget extends TargetImplementation { |
| loader.finishNativeMethods(); |
| runBuildTransformations(); |
| + if (verify) this.verify(); |
| errors.addAll(loader.collectCompileTimeErrors().map((e) => e.format())); |
| if (errors.isNotEmpty) { |
| return handleInputError(null, null, isFullProgram: true); |
| @@ -299,10 +301,9 @@ class KernelTarget extends TargetImplementation { |
| } |
| } |
| - Future<Null> writeProgram(Uri uri, {bool verify: false}) async { |
| + Future<Null> writeProgram(Uri uri) async { |
| if (loader.first == null) return null; |
| try { |
| - if (verify) this.verify(); |
| await writeLinkedProgram(uri, _program, isFullProgram: true); |
| } on InputError catch (e) { |
| return handleInputError(uri, e, isFullProgram: true); |
| @@ -715,7 +716,8 @@ class KernelTarget extends TargetImplementation { |
| } |
| void verify() { |
| - errors.addAll(verifyProgram(_program)); |
| + var verifyErrors = verifyProgram(_program); |
| + errors.addAll(verifyErrors.map((error) => error.toString())); |
|
Siggi Cherem (dart-lang)
2017/05/17 20:05:35
minor style suggestion: I generally prefer '$error
scheglov
2017/05/17 20:58:08
Done.
|
| ticker.logMs("Verified program"); |
| } |
| } |