anchor.diff:  
       //TODO(pquitslund): find the right place for this
       _checkForPackagespecUpdate(path, info, folder);
  -
  -    if (info.packageMapInfo != null &&
  -        info.packageMapInfo.dependencies.contains(path)) {
  -      _recomputeFolderDisposition(info);
  -    }
     }
   
     /**
  
positive.code:       });
        callbacks.endComputePackageMap();
        for (String dependencyPath in packageMapInfo.dependencies) {
          Resource resource = resourceProvider.getResource(dependencyPath);
          if (resource is File) {
            StreamSubscription<WatchEvent> subscription;
            subscription = resource.changes.listen((WatchEvent event) {
              if (info.packageMapInfo != null &&
                  info.packageMapInfo.dependencies.contains(dependencyPath)) {
                _recomputeFolderDisposition(info);
              }
            }, onError: (error, StackTrace stackTrace) {
              // Gracefully degrade if file is or becomes unwatchable
              _instrumentationService.logException(error, stackTrace);
              subscription.cancel();
              info.dependencySubscriptions.remove(subscription);
            });
            info.dependencySubscriptions.add(subscription);
          }
        }
        info.packageMapInfo = packageMapInfo;
        if (packageMapInfo.packageMap == null) {
          return new NoPackageFolderDisposition();
        }
  
negative.code:     // asynchronous API call, we'll want to suspend analysis for this context
      // while we're rerunning "pub list", since any analysis we complete while
      // "pub list" is in progress is just going to get thrown away anyhow.
      List<String> dependencies = <String>[];
      FolderDisposition disposition =
          _computeFolderDisposition(info.folder, info, dependencies.add);
      info.setDependencies(dependencies);
      callbacks.updateContextPackageUriResolver(info.folder, disposition);
    }
  
  