anchor.diff:        if (declaredElement is! ConstructorElement) {
           var classElement = declaredElement.enclosingElement as ClassElement;
           var origin = InheritanceOrigin(_source, node.offset);
  -        for (var overridden in _inheritanceManager.getOverridden(
  +        for (var overriddenElement in _inheritanceManager.getOverridden(
                   classElement.type,
                   Name(classElement.library.source.uri, declaredElement.name)) ??
  -            const []) {
  -          var overriddenElement = overridden.element as ExecutableElement;
  -          assert(overriddenElement is! ExecutableMember);
  +            const <ExecutableElement>[]) {
  +          if (overriddenElement is ExecutableMember) {
  +            var member = overriddenElement as ExecutableMember;
  +            overriddenElement = member.baseElement;
  +          }
             var overriddenClass =
                 overriddenElement.enclosingElement as ClassElement;
             var decoratedOverriddenFunctionType =
  
positive.code: /// variables that will determine its nullability.  For `visit...` methods that
  /// don't visit expressions, `null` will be returned.
  class EdgeBuilder extends GeneralizingAstVisitor<DecoratedType> {
    final InheritanceManager2 _inheritanceManager;
  
    /// The repository of constraint variables and decorated types (from a
    /// previous pass over the source code).
  
negative.code: import 'package:analyzer/dart/element/element.dart';
  import 'package:analyzer/dart/element/type.dart';
  import 'package:analyzer/src/dart/element/handle.dart';
  import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
  import 'package:analyzer/src/dart/element/member.dart';
  import 'package:analyzer/src/dart/element/type.dart';
  import 'package:analyzer/src/generated/resolver.dart';
  