anchor.diff:        );
       }
   
  +    if (target is SuperExpression) {
  +      return _resolveTargetSuperExpression(
  +        target: target,
  +        propertyName: propertyName,
  +        hasRead: hasRead,
  +        hasWrite: hasWrite,
  +      );
  +    }
  +
  +    return _resolve(
  +      target: target,
  +      isCascaded: node.target == null,
  +      isNullAware: node.isNullAware,
  +      propertyName: propertyName,
  +      hasRead: hasRead,
  +      hasWrite: hasWrite,
  +    );
  +  }
  +
  +  void _checkExtensionOverrideStaticMember(
  +    SimpleIdentifier propertyName,
  +    ExecutableElement element,
  +  ) {
  +    if (element != null && element.isStatic) {
  +      _errorReporter.reportErrorForNode(
  +        CompileTimeErrorCode.EXTENSION_OVERRIDE_ACCESS_TO_STATIC_MEMBER,
  +        propertyName,
  +      );
  +    }
  +  }
  +
  +  /// If the [element] is not static, report the error on the [identifier].
  +  void _checkForStaticAccessToInstanceMember(
  +    SimpleIdentifier identifier,
  +    ExecutableElement element,
  +  ) {
  +    if (element.isStatic) return;
  +
  +    _errorReporter.reportErrorForNode(
  +      CompileTimeErrorCode.STATIC_ACCESS_TO_INSTANCE_MEMBER,
  +      identifier,
  +      [identifier.name],
  +    );
  +  }
  +
  +  bool _isAccessible(ExecutableElement element) {
  +    return element.isAccessibleIn(_definingLibrary);
  +  }
  +
  +  PropertyElementResolverResult _resolve({
  +    @required Expression target,
  +    @required bool isCascaded,
  +    @required bool isNullAware,
  +    @required SimpleIdentifier propertyName,
  +    @required bool hasRead,
  +    @required bool hasWrite,
  +  }) {
       //
       // If this property access is of the form 'C.m' where 'C' is a class,
       // then we don't call resolveProperty(...) which walks up the class
  
positive.code: 
    ExtensionMemberResolver get _extensionResolver => _resolver.extensionResolver;
  
    PropertyElementResolverResult resolve2({
      @required Expression target,
      @required bool isCascaded,
      @required bool isNullAware,
      @required SimpleIdentifier propertyName,
      @required bool hasRead,
      @required bool hasWrite,
    }) {
      if (target is ExtensionOverride) {
        return _resolveTargetExtensionOverride(
          target: target,
  
negative.code:       writeElementRequested: result.setter,
        writeElementRecovery: result.getter,
      );
    }
  
    PropertyElementResolverResult _resolveTargetClassElement({
  