| Index: pkg/front_end/lib/kernel_generator.dart
|
| diff --git a/pkg/front_end/lib/kernel_generator.dart b/pkg/front_end/lib/kernel_generator.dart
|
| index 42fd4666d959d4d4f6e74074a9eaa58a9b2263a8..e1f5ab66d950cceefab52b408fb209e95716519f 100644
|
| --- a/pkg/front_end/lib/kernel_generator.dart
|
| +++ b/pkg/front_end/lib/kernel_generator.dart
|
| @@ -133,7 +133,8 @@ Future<Program> kernelForBuildUnit(
|
| Future<DartLoader> _createLoader(CompilerOptions options,
|
| {Program program, Uri entry}) async {
|
| var kernelOptions = _convertOptions(options);
|
| - var packages = await createPackages(_uriToPath(options.packagesFileUri),
|
| + var packages = await createPackages(
|
| + _uriToPath(options.packagesFileUri, options),
|
| discoveryPath: entry?.path);
|
| var loader =
|
| new DartLoader(program ?? new Program(), kernelOptions, packages);
|
| @@ -141,7 +142,8 @@ Future<DartLoader> _createLoader(CompilerOptions options,
|
|
|
| // TODO(sigmund,paulberry): use ProcessedOptions so that we can resolve the
|
| // URIs correctly even if sdkRoot is inferred and not specified explicitly.
|
| - String resolve(Uri patch) => _uriToPath(options.sdkRoot.resolveUri(patch));
|
| + String resolve(Uri patch) =>
|
| + options.fileSystem.context.fromUri(options.sdkRoot.resolveUri(patch));
|
|
|
| options.targetPatches.forEach((uri, patches) {
|
| patchPaths['$uri'] = patches.map(resolve).toList();
|
| @@ -154,11 +156,12 @@ Future<DartLoader> _createLoader(CompilerOptions options,
|
| DartOptions _convertOptions(CompilerOptions options) {
|
| return new DartOptions(
|
| strongMode: options.strongMode,
|
| - sdk: _uriToPath(options.sdkRoot),
|
| + sdk: _uriToPath(options.sdkRoot, options),
|
| // TODO(sigmund): make it possible to use summaries and still compile the
|
| // sdk sources.
|
| - sdkSummary: options.compileSdk ? null : _uriToPath(options.sdkSummary),
|
| - packagePath: _uriToPath(options.packagesFileUri),
|
| + sdkSummary:
|
| + options.compileSdk ? null : _uriToPath(options.sdkSummary, options),
|
| + packagePath: _uriToPath(options.packagesFileUri, options),
|
| customUriMappings: options.uriOverride,
|
| declaredVariables: options.declaredVariables);
|
| }
|
| @@ -170,12 +173,12 @@ void _reportErrors(List errors, ErrorHandler onError) {
|
| }
|
| }
|
|
|
| -String _uriToPath(Uri uri) {
|
| +String _uriToPath(Uri uri, CompilerOptions options) {
|
| if (uri == null) return null;
|
| if (uri.scheme != 'file') {
|
| throw new StateError('Only file URIs are supported: $uri');
|
| }
|
| - return uri.toFilePath();
|
| + return options.fileSystem.context.fromUri(uri);
|
| }
|
|
|
| // TODO(sigmund): delete this class. Dartk should not format errors itself, we
|
|
|