| Index: runtime/bin/vmservice/loader.dart
|
| diff --git a/runtime/bin/vmservice/loader.dart b/runtime/bin/vmservice/loader.dart
|
| index 8d56466ae6578f7ae152709a20fd25388c8cc92c..58bb5a75fd20d16cf50319a03ec08b17cec83731 100644
|
| --- a/runtime/bin/vmservice/loader.dart
|
| +++ b/runtime/bin/vmservice/loader.dart
|
| @@ -1131,34 +1131,36 @@ _processLoadRequest(request) {
|
| }
|
| break;
|
| case _Dart_kResolveAsFilePath:
|
| - String uri = request[4];
|
| - Uri resolvedUri = Uri.parse(_sanitizeWindowsPath(uri));
|
| - try {
|
| - if (resolvedUri.scheme == 'package') {
|
| - resolvedUri = loaderState._resolvePackageUri(resolvedUri);
|
| - }
|
| - if (resolvedUri.scheme == '' || resolvedUri.scheme == 'file') {
|
| - resolvedUri = loaderState._workingDirectory.resolveUri(resolvedUri);
|
| + loaderState._triggerPackageResolution(() {
|
| + String uri = request[4];
|
| + Uri resolvedUri = Uri.parse(_sanitizeWindowsPath(uri));
|
| + try {
|
| + if (resolvedUri.scheme == 'package') {
|
| + resolvedUri = loaderState._resolvePackageUri(resolvedUri);
|
| + }
|
| + if (resolvedUri.scheme == '' || resolvedUri.scheme == 'file') {
|
| + resolvedUri = loaderState._workingDirectory.resolveUri(resolvedUri);
|
| + var msg = new List(5);
|
| + msg[0] = tag;
|
| + msg[1] = uri;
|
| + msg[2] = resolvedUri.toString();
|
| + msg[3] = null;
|
| + msg[4] = resolvedUri.toFilePath();
|
| + sp.send(msg);
|
| + } else {
|
| + throw "Cannot resolve scheme (${resolvedUri.scheme}) to file path"
|
| + " for $resolvedUri";
|
| + }
|
| + } catch (e) {
|
| var msg = new List(5);
|
| - msg[0] = tag;
|
| + msg[0] = -tag;
|
| msg[1] = uri;
|
| msg[2] = resolvedUri.toString();
|
| msg[3] = null;
|
| - msg[4] = resolvedUri.toFilePath();
|
| + msg[4] = e.toString();
|
| sp.send(msg);
|
| - } else {
|
| - throw "Cannot resolve scheme (${resolvedUri.scheme}) to file path"
|
| - " for $resolvedUri";
|
| }
|
| - } catch (e) {
|
| - var msg = new List(5);
|
| - msg[0] = -tag;
|
| - msg[1] = uri;
|
| - msg[2] = resolvedUri.toString();
|
| - msg[3] = null;
|
| - msg[4] = e.toString();
|
| - sp.send(msg);
|
| - }
|
| + });
|
| break;
|
| default:
|
| _log('Unknown loader request tag=$tag from $isolateId');
|
|
|