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

Unified Diff: pkg/analysis_server/lib/src/context_manager.dart

Issue 1253803002: Clean up bogus codepath in ContextManager._computePackageUriResolver. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/analysis_server/test/context_manager_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 68f85ca6154c444d1f117ce31476df823ddda3d2..c12453c131fb36493585150d86432f388be227da 100644
--- a/pkg/analysis_server/lib/src/context_manager.dart
+++ b/pkg/analysis_server/lib/src/context_manager.dart
@@ -715,6 +715,8 @@ class ContextManagerImpl implements ContextManager {
_cancelDependencySubscriptions(info);
if (info.packageRoot != null) {
info.packageMapInfo = null;
+ // TODO(paulberry): We shouldn't be using JavaFile here because it
+ // makes the code untestable (see dartbug.com/23909).
JavaFile packagesDir = new JavaFile(info.packageRoot);
Map<String, List<Folder>> packageMap = new Map<String, List<Folder>>();
if (packagesDir.isDirectory()) {
@@ -736,8 +738,12 @@ class ContextManagerImpl implements ContextManager {
}
return new PackageMapUriResolver(resourceProvider, packageMap);
}
- //TODO(danrubel) remove this if it will never be called
- return new PackageUriResolver([packagesDir]);
+ // The package root does not exist (or is not a folder). Since
+ // [setRoots] ignores any package roots that don't exist (or aren't
+ // folders), the only way we should be able to get here is due to a race
+ // condition. In any case, the package root folder is gone, so we can't
+ // resolve packages.
+ return null;
} else {
callbacks.beginComputePackageMap();
if (packageResolverProvider != null) {
« no previous file with comments | « no previous file | pkg/analysis_server/test/context_manager_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698