anchor.diff:  import '../core.dart';
   import '../events.dart';
   import '../sdk.dart';
  -import '../utils.dart';
   import 'analyze_impl.dart';
   
   class FixCommand extends DartdevCommand<int> {
  
positive.code:     if (edits.isEmpty) {
        log.stdout('Nothing to fix!');
      } else {
        // todo (pq): consider a summary if more than `n` fixes are applied
        //  (look at `dartfmt`)
        log.stdout('Applying fixes to:');
        for (var edit in edits) {
          var file = File(edit.file);
          log.stdout('  ${relativePath(file.path, dir)}');
          var code = file.existsSync() ? file.readAsStringSync() : '';
          code = SourceEdit.applySequence(code, edit.edits);
          file.writeAsStringSync(code);
        }
        log.stdout('Done.');
      }
      return 0;
    }
  
    @override
    UsageEvent createUsageEvent(int exitCode) => FixUsageEvent(
          usagePath,
          exitCode: exitCode,
          args: argResults.arguments,
        );
  }
  
  /// The [UsageEvent] for the fix command.
  
negative.code: 
    // This command is hidden as its currently experimental.
    FixCommand() : super(cmdName, 'Fix Dart source code.', hidden: true);
  
    @override
    UsageEvent createUsageEvent(int exitCode) => FixUsageEvent(
          usagePath,
          exitCode: exitCode,
          args: argResults.arguments,
        );
  
    @override
    FutureOr<int> runImpl() async {
  