anchor.diff:    @override
     String convert(BuildSpec spec) {
       return null;
  -  }
  -}
  -
  -class EditAndroidModuleLibraryManager extends EditCommand {
  -  @override
  -  String get path =>
  -      'flutter-studio/src/io/flutter/android/AndroidModuleLibraryManager.java';
  -
  -  @override
  -  String convert(BuildSpec spec) {
  -    // Starting with 3.6 we need to call a simplified init().
  -    // This is where the $PROJECT_FILE$ macro is defined, #registerComponents.
  -    if (spec.version.startsWith('4.2')) {
  -      var processedFile = File(
  -          'flutter-studio/src/io/flutter/android/AndroidModuleLibraryManager.java');
  -      var source = processedFile.readAsStringSync();
  -      var original = source;
  -      source = source.replaceAll("ProjectExImpl", "ProjectImpl");
  -      source = source.replaceAll(
  -          "super.init(false, indicator);", "super.init(indicator);");
  -      source = source.replaceAll(
  -          "import com.intellij.openapi.project.impl.ProjectExImpl;", "");
  -      if (spec.version.startsWith('4.2')) {
  -        source =
  -            source.replaceAll("androidProject.init42", "androidProject.init41");
  -        source = source.replaceAll("PluginManagerCore.getLoadedPlugins(), null",
  -            "PluginManagerCore.getLoadedPlugins()");
  -        source = source.replaceAll("getStateStore1", "getStateStore");
  -        source = source.replaceAll("getEarlyDisposable1", "getEarlyDisposable");
  -        source = source.replaceAll("getWorkspaceFile1", "getWorkspaceFile");
  -        source = source.replaceAll("getProjectFilePath1", "getProjectFilePath");
  -        source = source.replaceAll("getProjectFile1", "getProjectFile");
  -        source = source.replaceAll("getBasePath1", "getBasePath");
  -        source = source.replaceAll("getBaseDir1", "getBaseDir");
  -        source = source.replaceAll("super(filePath, TEMPLATE_PROJECT_NAME)",
  -            "super((ProjectImpl)getProject())");
  -      }
  -      processedFile.writeAsStringSync(source);
  -      return original;
  -    } else {
  -      if (spec.version.startsWith('2021.2')) {
  -        var processedFile = File(
  -            'flutter-studio/src/io/flutter/android/AndroidModuleLibraryManager.java');
  -        var source = processedFile.readAsStringSync();
  -        var original = source;
  -        source = source.replaceAll(
  -            "PluginManagerCore.getLoadedPlugins(), null);",
  -            "PluginManagerCore.getLoadedPlugins(), null, null, null);");
  -        processedFile.writeAsStringSync(source);
  -        return original;
  -      } else {
  -        return null;
  -      }
  -    }
     }
   }
   
  
positive.code:     path: 'flutter-idea/src/io/flutter/pub/PubRoot.java',
      initial: 'String @NotNull [] TEST_DIRS',
      replacement: 'String [] TEST_DIRS',
      versions: ['AS.211', 'AS.212', '2021.3'],
    ),
    // Improved analytics will not be available to current stable or beta Android Studio and stable IntelliJ.
    Subst(
      path: 'flutter-idea/src/io/flutter/analytics/FlutterAnalysisServerListener.java',
      initial: '<@NotNull Analytics>',
      replacement: '<Analytics>',
      versions: ['AS.211', 'AS.212', '2021.3'],
    ),
    Subst(
      path: 'flutter-idea/src/io/flutter/analytics/DartCompletionTimerListener.java',
      initial: 'import com.jetbrains.lang.dart.ide.completion.DartCompletionTimerExtension;',
      replacement: '',
      versions: ['AF.3.1', 'AS.211', 'AS.212'],
    ),
    Subst(
      path: 'flutter-idea/src/io/flutter/analytics/DartCompletionTimerListener.java',
      initial: 'extends DartCompletionTimerExtension',
      replacement: '',
      versions: ['AF.3.1', 'AS.211', 'AS.212'],
    ),
    Subst(
      path: 'flutter-idea/src/io/flutter/analytics/DartCompletionTimerListener.java',
      initial: '@Override',
      replacement: '',
      versions: ['AF.3.1', 'AS.211', 'AS.212', '2021.3'],
    ),
  ];
  
  
negative.code:   appliedEditCommands.clear();
  }
  
  List<EditCommand> editCommands = [
    Subst(
      path: 'build.gradle.kts',
      initial:
          'localPath.set("\${project.rootDir.absolutePath}/artifacts/\$ide")',
      replacement: 'type.set("IC")\n  version.set("LATEST-EAP-SNAPSHOT")',
      version: '2022.2',
    ),
    Subst(
      path: 'flutter-idea/build.gradle.kts',
      initial:
          'localPath.set("\${project.rootDir.absolutePath}/artifacts/\$ide")',
      replacement: 'type.set("IC")\n  version.set("LATEST-EAP-SNAPSHOT")',
      version: '2022.2',
    ),
    Subst(
      path: 'flutter-idea/testSrc/unit/io/flutter/testing/Testing.java',
  