anchor.diff:    TestConfig(this.marker, this.name, {FeatureSet? featureSet})
         : featureSet = featureSet ?? FeatureSet.latestLanguageVersion();
   }
  +
  +class _TestFile {
  +  final Uri uri;
  +  final File file;
  +
  +  _TestFile({
  +    required this.uri,
  +    required this.file,
  +  });
  +
  +  String get path => file.path;
  +}
  
positive.code:     Map<String, List<String>>? skipMap}) async {
    MemberAnnotations<IdValue> memberAnnotations =
        testData.expectedMaps[config.marker]!;
    var resourceProvider = MemoryResourceProvider();
    var testUris = <Uri>[];
    for (var entry in testData.memorySourceFiles.entries) {
      var testUri = _toTestUri(entry.key);
      testUris.add(testUri);
      resourceProvider.newFile(
          resourceProvider.convertPath(testUri.path), entry.value);
    }
    var sdkRoot = resourceProvider.newFolder(
      resourceProvider.convertPath('/sdk'),
    );
    createMockSdk(
      resourceProvider: resourceProvider,
      root: sdkRoot,
    );
    var sdk = FolderBasedDartSdk(resourceProvider, sdkRoot);
    var logBuffer = StringBuffer();
    var logger = PerformanceLog(logBuffer);
    var scheduler = AnalysisDriverScheduler(logger);
    // TODO(paulberry): Do we need a non-empty package map for any of these tests?
    var packageMap = <String, List<Folder>>{};
    var byteStore = MemoryByteStore();
    var analysisOptions = AnalysisOptionsImpl()
      ..contextFeatures = config.featureSet;
    var driver = AnalysisDriver(
      scheduler: scheduler,
      logger: logger,
      resourceProvider: resourceProvider,
      byteStore: byteStore,
      sourceFactory: SourceFactory([
        DartUriResolver(sdk),
        PackageMapUriResolver(resourceProvider, packageMap),
        ResourceUriResolver(resourceProvider)
      ]),
      analysisOptions: analysisOptions,
      packages: Packages.empty,
      retainDataForTesting: true,
    );
    scheduler.start();
  
    Map<Uri, Map<Id, ActualData<T>>> actualMaps = <Uri, Map<Id, ActualData<T>>>{};
    Map<Id, ActualData<T>> globalData = <Id, ActualData<T>>{};
  
negative.code: import 'package:analyzer/error/error.dart';
  import 'package:analyzer/file_system/file_system.dart';
  import 'package:analyzer/file_system/memory_file_system.dart';
  import 'package:analyzer/src/dart/analysis/analysis_context_collection.dart';
  import 'package:analyzer/src/dart/analysis/testing_data.dart';
  import 'package:analyzer/src/test_utilities/mock_sdk.dart';
  
  /// Test configuration used for testing the analyzer without experiments.
  