anchor.diff:    final LinterContext context;
   
     _Visitor(this.rule, this.context);
  +
  +  void check(Element? element, AstNode target) {
  +    if (element == null || element.hasOverride) return;
  +
  +    var member = getOverriddenMember(element);
  +    if (member != null) {
  +      rule.reportLint(target);
  +    }
  +  }
   
     Element? getOverriddenMember(Element member) {
       var classElement = member.thisOrAncestorOfType<ClassElement>();
  
positive.code: 
    @override
    void visitFieldDeclaration(FieldDeclaration node) {
      for (var field in node.fields.variables) {
        var element = field.declaredElement;
        if (element != null && !element.hasOverride) {
          var member = getOverriddenMember(element);
          if (member != null) {
            rule.reportLint(field);
          }
        }
      }
    }
  
    @override
    void visitMethodDeclaration(MethodDeclaration node) {
      var element = node.declaredElement;
      if (element != null && !element.hasOverride) {
        var member = getOverriddenMember(element);
        if (member != null) {
          rule.reportLint(node.name);
        }
      }
    }
  }
  
negative.code:   void registerNodeProcessors(
        NodeLintRegistry registry, LinterContext context) {
      var visitor = _Visitor(this, context);
      registry.addFieldDeclaration(this, visitor);
      registry.addMethodDeclaration(this, visitor);
    }
  