anchor.diff:  import 'package:analyzer/dart/ast/ast.dart';
   import 'package:analyzer/dart/element/element.dart';
   import 'package:analyzer/error/error.dart' as engine;
  +import 'package:analyzer/file_system/file_system.dart';
   import 'package:analyzer/src/dart/analysis/driver.dart';
   import 'package:analyzer/src/dart/scanner/scanner.dart' as engine;
   import 'package:analyzer/src/error/codes.dart' as engine;
  
positive.code: }
  
  /**
   * An object managing a single [Refactoring] instance.
   *
   * The instance is identified by its kind, file, offset and length.
  
negative.code:   }
  
    Future getFixes(Request request) async {
      var params = new EditGetFixesParams.fromRequest(request);
      String file = params.file;
      int offset = params.offset;
  
      List<AnalysisErrorFixes> errorFixesList = <AnalysisErrorFixes>[];
      if (server.options.enableNewAnalysisDriver) {
        AnalysisResult result = await server.getAnalysisResult(file);
        CompilationUnit unit = result.unit;
        LineInfo lineInfo = result.lineInfo;
        int requestLine = lineInfo.getLocation(offset).lineNumber;
        for (engine.AnalysisError error in result.errors) {
          int errorLine = lineInfo.getLocation(error.offset).lineNumber;
          if (errorLine == requestLine) {
            var context = new _DartFixContextImpl(
                server.resourceProvider, unit.element.context, unit, error);
            List<Fix> fixes =
                await new DefaultFixContributor().internalComputeFixes(context);
            if (fixes.isNotEmpty) {
              AnalysisError serverError =
                  newAnalysisError_fromEngine(lineInfo, error);
              AnalysisErrorFixes errorFixes = new AnalysisErrorFixes(serverError);
              errorFixesList.add(errorFixes);
              fixes.forEach((fix) {
                errorFixes.fixes.add(fix.change);
              });
            }
          }
        }
      } else {
        List<CompilationUnit> units = server.getResolvedCompilationUnits(file);
        for (CompilationUnit unit in units) {
          engine.AnalysisErrorInfo errorInfo = server.getErrors(file);
          if (errorInfo != null) {
            LineInfo lineInfo = errorInfo.lineInfo;
            int requestLine = lineInfo.getLocation(offset).lineNumber;
            for (engine.AnalysisError error in errorInfo.errors) {
              int errorLine = lineInfo.getLocation(error.offset).lineNumber;
              if (errorLine == requestLine) {
                List<Fix> fixes = await computeFixes(server.serverPlugin,
                    server.resourceProvider, unit.element.context, error);
                if (fixes.isNotEmpty) {
                  AnalysisError serverError =
                      newAnalysisError_fromEngine(lineInfo, error);
                  AnalysisErrorFixes errorFixes =
                      new AnalysisErrorFixes(serverError);
                  errorFixesList.add(errorFixes);
                  fixes.forEach((fix) {
                    errorFixes.fixes.add(fix.change);
                  });
                }
              }
            }
          }
        }
      }
  
      // Send the response.
      server.sendResponse(
          new EditGetFixesResult(errorFixesList).toResponse(request.id));
    }
  