anchor.diff:  
     FlowAnalysis<AstNode, Statement, Expression, PromotableElement, DartType>
         _flowAnalysis;
  +
  +  TypeProvider get typeProvider => _fixBuilder.typeProvider;
  +
  +  Element get _elementHashCode =>
  +      _fixBuilder.typeProvider.objectType.getGetter('hashCode');
  +
  +  Element get _elementNoSuchMethod =>
  +      _fixBuilder.typeProvider.objectType.getGetter('noSuchMethod');
  +
  +  Element get _elementRuntimeType =>
  +      _fixBuilder.typeProvider.objectType.getMethod('runtimeType');
  +
  +  Element get _elementToString =>
  +      _fixBuilder.typeProvider.objectType.getMethod('toString');
   
     @override
     void freshTypeParameterCreated(TypeParameterElement newTypeParameter,
  
positive.code:     }
      return type;
    }
  
    Element get _elementToString =>
        _fixBuilder.typeProvider.objectType.getMethod('toString');
    Element get _elementHashCode =>
        _fixBuilder.typeProvider.objectType.getGetter('hashCode');
    Element get _elementRuntimeType =>
        _fixBuilder.typeProvider.objectType.getMethod('runtimeType');
    Element get _elementNoSuchMethod =>
        _fixBuilder.typeProvider.objectType.getGetter('noSuchMethod');
  
    bool _needsNullCheckDueToStructure(Expression node) {
      var parent = node.parent;
  
negative.code:     implements MigrationResolutionHooks {
    FixBuilder _fixBuilder;
  
    final Expando<List<CollectionElement>> _collectionElements = Expando();
  
    final Expando<bool> _shouldStayNullAware = Expando();
  