跳到主要内容

must_call_super

此方法重写了在 '{0}' 中被 '@mustCallSuper' 注解的方法,但没有调用被重写的方法。

描述

#

当一个方法重写了被注解为 mustCallSuper 的方法,但没有按要求调用该被重写方法时,分析器会生成此诊断信息。

示例

#

以下代码会生成此诊断信息,因为类 B 中的方法 m 没有调用类 A 中被重写的方法 m

dart
import 'package:meta/meta.dart';

class A {
  @mustCallSuper
  m() {}
}

class B extends A {
  @override
  m() {}
}

常见修复方法

#

在重写方法中添加对被重写方法的调用

dart
import 'package:meta/meta.dart';

class A {
  @mustCallSuper
  m() {}
}

class B extends A {
  @override
  m() {
    super.m();
  }
}