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

Side by Side Diff: pkg/front_end/lib/src/fasta/source/source_loader.dart

Issue 3006483002: Remove check for scheme in source-loader. (Closed)
Patch Set: address bot failures Created 3 years, 3 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
« no previous file with comments | « pkg/front_end/lib/src/fasta/fasta_codes_generated.dart ('k') | pkg/front_end/messages.yaml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 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 16 matching lines...) Expand all
27 ClassBuilder, 27 ClassBuilder,
28 EnumBuilder, 28 EnumBuilder,
29 LibraryBuilder, 29 LibraryBuilder,
30 NamedTypeBuilder, 30 NamedTypeBuilder,
31 TypeBuilder; 31 TypeBuilder;
32 32
33 import '../compiler_context.dart' show CompilerContext; 33 import '../compiler_context.dart' show CompilerContext;
34 34
35 import '../deprecated_problems.dart' show deprecated_inputError; 35 import '../deprecated_problems.dart' show deprecated_inputError;
36 36
37 import '../problems.dart' show internalProblem;
38
37 import '../export.dart' show Export; 39 import '../export.dart' show Export;
38 40
39 import '../fasta_codes.dart' 41 import '../fasta_codes.dart'
40 show 42 show
41 Message, 43 Message,
42 templateCyclicClassHierarchy, 44 templateCyclicClassHierarchy,
43 templateExtendingEnum, 45 templateExtendingEnum,
44 templateExtendingRestricted, 46 templateExtendingRestricted,
45 templateIllegalMixin, 47 templateIllegalMixin,
46 templateIllegalMixinDueToConstructors, 48 templateIllegalMixinDueToConstructors,
47 templateIllegalMixinDueToConstructorsCause, 49 templateIllegalMixinDueToConstructorsCause,
50 templateInternalProblemUriMissingScheme,
48 templateUnspecified; 51 templateUnspecified;
49 52
50 import '../kernel/kernel_shadow_ast.dart' show KernelTypeInferenceEngine; 53 import '../kernel/kernel_shadow_ast.dart' show KernelTypeInferenceEngine;
51 54
52 import '../kernel/kernel_target.dart' show KernelTarget; 55 import '../kernel/kernel_target.dart' show KernelTarget;
53 56
54 import '../loader.dart' show Loader; 57 import '../loader.dart' show Loader;
55 58
56 import '../parser/class_member_parser.dart' show ClassMemberParser; 59 import '../parser/class_member_parser.dart' show ClassMemberParser;
57 60
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 TypeInferenceEngine typeInferenceEngine; 92 TypeInferenceEngine typeInferenceEngine;
90 93
91 Instrumentation instrumentation; 94 Instrumentation instrumentation;
92 95
93 SourceLoader(this.fileSystem, this.includeComments, KernelTarget target) 96 SourceLoader(this.fileSystem, this.includeComments, KernelTarget target)
94 : super(target); 97 : super(target);
95 98
96 Future<Token> tokenize(SourceLibraryBuilder library, 99 Future<Token> tokenize(SourceLibraryBuilder library,
97 {bool suppressLexicalErrors: false}) async { 100 {bool suppressLexicalErrors: false}) async {
98 Uri uri = library.fileUri; 101 Uri uri = library.fileUri;
99 // TODO(sigmund): source-loader shouldn't check schemes, but defer to the 102 if (uri == null) {
100 // underlying file system to decide whether it is supported.
101 if (uri == null || uri.scheme != "file" && uri.scheme != "multi-root") {
102 return deprecated_inputError( 103 return deprecated_inputError(
103 library.uri, -1, "Not found: ${library.uri}."); 104 library.uri, -1, "Not found: ${library.uri}.");
105 } else if (!uri.hasScheme) {
106 return internalProblem(
ahe 2017/08/28 12:54:39 I'm not sure these checks belong here anymore. Let
107 templateInternalProblemUriMissingScheme.withArguments(uri),
108 -1,
109 library.uri);
104 } 110 }
105 111
106 // Get the library text from the cache, or read from the file system. 112 // Get the library text from the cache, or read from the file system.
107 List<int> bytes = sourceBytes[uri]; 113 List<int> bytes = sourceBytes[uri];
108 if (bytes == null) { 114 if (bytes == null) {
109 try { 115 try {
110 List<int> rawBytes = await fileSystem.entityForUri(uri).readAsBytes(); 116 List<int> rawBytes = await fileSystem.entityForUri(uri).readAsBytes();
111 Uint8List zeroTerminatedBytes = new Uint8List(rawBytes.length + 1); 117 Uint8List zeroTerminatedBytes = new Uint8List(rawBytes.length + 1);
112 zeroTerminatedBytes.setRange(0, rawBytes.length, rawBytes); 118 zeroTerminatedBytes.setRange(0, rawBytes.length, rawBytes);
113 bytes = zeroTerminatedBytes; 119 bytes = zeroTerminatedBytes;
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 Expression throwCompileConstantError(Expression error) { 552 Expression throwCompileConstantError(Expression error) {
547 return target.backendTarget.throwCompileConstantError(coreTypes, error); 553 return target.backendTarget.throwCompileConstantError(coreTypes, error);
548 } 554 }
549 555
550 Expression buildCompileTimeError(Message message, int offset, Uri uri) { 556 Expression buildCompileTimeError(Message message, int offset, Uri uri) {
551 String text = target.context 557 String text = target.context
552 .format(message.withLocation(uri, offset), Severity.error); 558 .format(message.withLocation(uri, offset), Severity.error);
553 return target.backendTarget.buildCompileTimeError(coreTypes, text, offset); 559 return target.backendTarget.buildCompileTimeError(coreTypes, text, offset);
554 } 560 }
555 } 561 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/fasta_codes_generated.dart ('k') | pkg/front_end/messages.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698