anchor.diff:        _printErrors(outputPath: options.buildAnalysisOutput);
         return _computeMaxSeverity();
       }
  +  }
  +
  +  /**
  +   * Compute linked libraries for the given [libraryUris] using the linked
  +   * libraries of the [summaryDataStore] and unlinked units in [uriToUnit], and
  +   * add them to  the [assembler].
  +   */
  +  void _computeLinkedLibraries(Set<String> libraryUris) {
  +    LinkedLibrary getDependency(String absoluteUri) =>
  +        summaryDataStore.linkedMap[absoluteUri];
  +
  +    UnlinkedUnit getUnit(String absoluteUri) =>
  +        summaryDataStore.unlinkedMap[absoluteUri] ?? uriToUnit[absoluteUri];
  +
  +    Map<String, LinkedLibraryBuilder> linkResult = link(
  +        libraryUris,
  +        getDependency,
  +        getUnit,
  +        context.declaredVariables.get,
  +        options.strongMode);
  +    linkResult.forEach(assembler.addLinkedLibrary);
     }
   
     ErrorSeverity _computeMaxSeverity() {
  
positive.code: 
    PackageBundleAssembler assembler;
    final Set<Source> processedSources = new Set<Source>();
    final Map<Uri, UnlinkedUnit> uriToUnit = <Uri, UnlinkedUnit>{};
  
    BuildMode(this.resourceProvider, this.options, this.stats);
  
  
negative.code:       new io.File(outputPath).writeAsStringSync(buffer.toString());
      }
    }
  }
  
  /**
  