Chromium Code Reviews| 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.source_loader; | 5 library fasta.source_loader; |
| 6 | 6 |
| 7 import 'dart:async' show Future; | 7 import 'dart:async' show Future; |
| 8 | 8 |
| 9 import 'dart:typed_data' show Uint8List; | 9 import 'dart:typed_data' show Uint8List; |
| 10 | 10 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 89 TypeInferenceEngine typeInferenceEngine; | 89 TypeInferenceEngine typeInferenceEngine; |
| 90 | 90 |
| 91 Instrumentation instrumentation; | 91 Instrumentation instrumentation; |
| 92 | 92 |
| 93 SourceLoader(this.fileSystem, this.includeComments, KernelTarget target) | 93 SourceLoader(this.fileSystem, this.includeComments, KernelTarget target) |
| 94 : super(target); | 94 : super(target); |
| 95 | 95 |
| 96 Future<Token> tokenize(SourceLibraryBuilder library, | 96 Future<Token> tokenize(SourceLibraryBuilder library, |
| 97 {bool suppressLexicalErrors: false}) async { | 97 {bool suppressLexicalErrors: false}) async { |
| 98 Uri uri = library.fileUri; | 98 Uri uri = library.fileUri; |
| 99 // TODO(sigmund): source-loader shouldn't check schemes, but defer to the | |
| 100 // underlying file system to decide whether it is supported. | |
| 101 if (uri == null || uri.scheme != "file" && uri.scheme != "multi-root") { | |
|
Siggi Cherem (dart-lang)
2017/08/23 20:38:33
note that the `fileSystem.entityForUri` call below
ahe
2017/08/24 10:08:53
The following situations are still erroneous at th
Siggi Cherem (dart-lang)
2017/08/24 18:55:19
Done - as you suggested now I'm checking for null
ahe
2017/08/25 08:52:31
That's odd. When I ran the test with this code rem
| |
| 102 return deprecated_inputError( | |
| 103 library.uri, -1, "Not found: ${library.uri}."); | |
| 104 } | |
| 105 | 99 |
| 106 // Get the library text from the cache, or read from the file system. | 100 // Get the library text from the cache, or read from the file system. |
| 107 List<int> bytes = sourceBytes[uri]; | 101 List<int> bytes = sourceBytes[uri]; |
| 108 if (bytes == null) { | 102 if (bytes == null) { |
| 109 try { | 103 try { |
| 110 List<int> rawBytes = await fileSystem.entityForUri(uri).readAsBytes(); | 104 List<int> rawBytes = await fileSystem.entityForUri(uri).readAsBytes(); |
| 111 Uint8List zeroTerminatedBytes = new Uint8List(rawBytes.length + 1); | 105 Uint8List zeroTerminatedBytes = new Uint8List(rawBytes.length + 1); |
| 112 zeroTerminatedBytes.setRange(0, rawBytes.length, rawBytes); | 106 zeroTerminatedBytes.setRange(0, rawBytes.length, rawBytes); |
| 113 bytes = zeroTerminatedBytes; | 107 bytes = zeroTerminatedBytes; |
| 114 sourceBytes[uri] = bytes; | 108 sourceBytes[uri] = bytes; |
| (...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 546 Expression throwCompileConstantError(Expression error) { | 540 Expression throwCompileConstantError(Expression error) { |
| 547 return target.backendTarget.throwCompileConstantError(coreTypes, error); | 541 return target.backendTarget.throwCompileConstantError(coreTypes, error); |
| 548 } | 542 } |
| 549 | 543 |
| 550 Expression buildCompileTimeError(Message message, int offset, Uri uri) { | 544 Expression buildCompileTimeError(Message message, int offset, Uri uri) { |
| 551 String text = target.context | 545 String text = target.context |
| 552 .format(message.withLocation(uri, offset), Severity.error); | 546 .format(message.withLocation(uri, offset), Severity.error); |
| 553 return target.backendTarget.buildCompileTimeError(coreTypes, text, offset); | 547 return target.backendTarget.buildCompileTimeError(coreTypes, text, offset); |
| 554 } | 548 } |
| 555 } | 549 } |
| OLD | NEW |