anchor.diff:  import 'package:build_integration/file_system/multi_root.dart';
   import 'package:compiler/src/kernel/dart2js_target.dart';
   import 'package:dev_compiler/src/kernel/target.dart';
  +import 'package:front_end/src/api_prototype/file_system.dart';
   import 'package:front_end/src/api_prototype/incremental_kernel_generator.dart';
   import 'package:front_end/src/api_unstable/bazel_worker.dart' as fe;
   import 'package:front_end/src/fasta/kernel/macro/macro.dart';
  
positive.code:         {
            "target=$targetName",
            "trackWidgetCreation=$trackWidgetCreation",
            "multiRootScheme=${fileSystem.markerScheme}",
            "multiRootRoots=${fileSystem.roots}",
          },
          sdkSummaryUri,
          toUriNullable(parsedArgs['packages-file']),
  
negative.code:   }
  }
  
  class _FakeFileSystem extends FileSystem {
    final Map<Uri, Uri> redirectsFromTo = {};
    final Set<Uri> redirectsTo = {};
    final FileSystem fs;
    _FakeFileSystem(this.fs);
  
    void addRedirect(Uri from, Uri to) {
      redirectsTo.add(to);
      redirectsFromTo[from] = to;
    }
  
    @override
    FileSystemEntity entityForUri(Uri uri) {
      if (redirectsTo.contains(uri)) throw "$uri is a redirection target.";
      uri = redirectsFromTo[uri] ?? uri;
      return fs.entityForUri(uri);
    }
  }
  
  class DevCompilerSummaryTarget extends DevCompilerTarget with SummaryMixin {
    final List<Uri> sources;
    final bool excludeNonSources;
  