Index: pkg/analysis_server/lib/src/context_manager.dart |
diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart |
index 38c3c2df3c71c67e91cf0fddd770af0c146efdb3..e9d4573cd8161e2e262cc654cbdde553c0b8bd81 100644 |
--- a/pkg/analysis_server/lib/src/context_manager.dart |
+++ b/pkg/analysis_server/lib/src/context_manager.dart |
@@ -311,26 +311,28 @@ abstract class ContextManager { |
/** |
* Compute the appropriate package URI resolver for [folder], and store |
- * dependency information in [info]. |
+ * dependency information in [info]. Return `null` if no package map can |
+ * be computed. |
*/ |
UriResolver _computePackageUriResolver(Folder folder, _ContextInfo info) { |
- UriResolver packageUriResolver; |
if (info.packageRoot != null) { |
info.packageMapDependencies = new Set<String>(); |
- packageUriResolver = |
- new PackageUriResolver([new JavaFile(info.packageRoot)]); |
+ return new PackageUriResolver([new JavaFile(info.packageRoot)]); |
} else { |
beginComputePackageMap(); |
PackageMapInfo packageMapInfo = |
_packageMapProvider.computePackageMap(folder); |
endComputePackageMap(); |
info.packageMapDependencies = packageMapInfo.dependencies; |
- packageUriResolver = |
- new PackageMapUriResolver(resourceProvider, packageMapInfo.packageMap); |
+ if (packageMapInfo.packageMap == null) { |
+ return null; |
+ } |
+ return new PackageMapUriResolver( |
+ resourceProvider, |
+ packageMapInfo.packageMap); |
// TODO(paulberry): if any of the dependencies is outside of [folder], |
// we'll need to watch their parent folders as well. |
} |
- return packageUriResolver; |
} |
/** |