anchor.diff:  
     @override
     AnalysisDriverPriority get workPriority {
  +    if (_resolveForCompletionRequests.isNotEmpty) {
  +      return AnalysisDriverPriority.completion;
  +    }
       if (_requestedFiles.isNotEmpty) {
         return AnalysisDriverPriority.interactive;
       }
  
positive.code:     required int offset,
      required OperationPerformanceImpl performance,
    }) async {
      if (!_isAbsolutePath(path)) {
        return null;
      }
  
      if (!_fsState.hasUri(path)) {
        return null;
      }
  
      // Process pending changes.
      while (_fileTracker.verifyChangedFilesIfNeeded()) {}
  
      var file = _fsState.getFileForPath(path);
  
      var library = file.isPart ? file.library : file;
      if (library == null) {
        return null;
      }
  
      await libraryContext.load(library);
      var unitElement = libraryContext.computeUnitElement(library, file)
          as CompilationUnitElementImpl;
  
      var analysisResult = LibraryAnalyzer(
        analysisOptions as AnalysisOptionsImpl,
        declaredVariables,
        sourceFactory,
        libraryContext.elementFactory.libraryOfUri2(library.uriStr),
        libraryContext.elementFactory.analysisSession.inheritanceManager,
        library,
        testingData: testingData,
      ).analyzeForCompletion(
        file: file,
        offset: offset,
        unitElement: unitElement,
        performance: performance,
      );
  
      return ResolvedForCompletionResultImpl(
        analysisSession: currentSession,
        path: path,
        uri: file.uri,
        exists: file.exists,
        content: file.content,
        lineInfo: file.lineInfo,
        parsedUnit: analysisResult.parsedUnit,
        unitElement: unitElement,
        resolvedNodes: analysisResult.resolvedNodes,
      );
    }
  
    void _addDeclaredVariablesToSignature(ApiSignature buffer) {
  
negative.code:     );
    }
  
    Future<ResolvedForCompletionResultImpl?> _resolveForCompletion(
      _ResolveForCompletionRequest request,
    ) async {
      final path = request.path;
      if (!_isAbsolutePath(path)) {
        return null;
      }
  
      if (!_fsState.hasUri(path)) {
        return null;
      }
  
      var file = _fsState.getFileForPath(path);
  
      var library = file.isPart ? file.library : file;
      if (library == null) {
        return null;
      }
  
      await libraryContext.load(library);
      var unitElement = libraryContext.computeUnitElement(library, file)
          as CompilationUnitElementImpl;
  
      var analysisResult = LibraryAnalyzer(
        analysisOptions as AnalysisOptionsImpl,
        declaredVariables,
        sourceFactory,
        libraryContext.elementFactory.libraryOfUri2(library.uriStr),
        libraryContext.elementFactory.analysisSession.inheritanceManager,
        library,
        testingData: testingData,
      ).analyzeForCompletion(
        file: file,
        offset: request.offset,
        unitElement: unitElement,
        performance: request.performance,
      );
  
      return ResolvedForCompletionResultImpl(
        analysisSession: currentSession,
        path: path,
        uri: file.uri,
        exists: file.exists,
        content: file.content,
        lineInfo: file.lineInfo,
        parsedUnit: analysisResult.parsedUnit,
        unitElement: unitElement,
        resolvedNodes: analysisResult.resolvedNodes,
      );
    }
  
    /// Serialize the given [resolvedUnit] errors and index into bytes.
    Uint8List _serializeResolvedUnit(
        CompilationUnit resolvedUnit, List<AnalysisError> errors) {
  