跳到主要內容

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();
  }
}