anchor.diff:      int updateOffset = edit.offset;
       int updateEndOld = updateOffset + edit.length;
       int updateOldNew = updateOffset + edit.replacement.length;
  -    IncrementalResolver resolver = new IncrementalResolver(
  -        (analysisContext2 as AnalysisContextImpl)
  -            .getReadableSourceEntryOrNull(source), null, null, unit.element,
  -        updateOffset, updateEndOld, updateOldNew);
  +    IncrementalResolver resolver;
  +    if (AnalysisEngine.instance.useTaskModel) {
  +      LibrarySpecificUnit lsu = new LibrarySpecificUnit(source, source);
  +      task.AnalysisCache cache = analysisContext2.analysisCache;
  +      resolver = new IncrementalResolver(null, cache.get(source),
  +          cache.get(lsu), unit.element, updateOffset, updateEndOld,
  +          updateOldNew);
  +    } else {
  +      resolver = new IncrementalResolver(
  +          (analysisContext2 as AnalysisContextImpl)
  +              .getReadableSourceEntryOrNull(source), null, null, unit.element,
  +          updateOffset, updateEndOld, updateOldNew);
  +    }
       bool success = resolver.resolve(newNode);
       expect(success, isTrue);
       List<AnalysisError> newErrors = analysisContext.computeErrors(source);
  
positive.code: 
    @override
    void reset() {
      analysisContext2 = AnalysisContextFactory.oldContextWithCore();
    }
  
    @override
    void resetWithOptions(AnalysisOptions options) {
      analysisContext2 =
          AnalysisContextFactory.oldContextWithCoreAndOptions(options);
    }
  
    void setUp() {
  
negative.code: 
  library engine.incremental_resolver_test;
  
  import 'package:analyzer/src/context/cache.dart' as task;
  import 'package:analyzer/src/generated/ast.dart';
  import 'package:analyzer/src/generated/element.dart';
  import 'package:analyzer/src/generated/engine.dart';
  