メインコンテンツにスキップ

diagnostic_describe_all_properties

公開プロパティが 'debugFillProperties' または 'debugDescribeChildren' のいずれかで説明されていません。

説明

#

この診断は、Diagnosticable を実装しているクラスに、debugFillProperties または debugDescribeChildren メソッドのいずれにもプロパティとして追加されていない公開プロパティがある場合に、アナライザーによって生成されます。

#

以下のコードは、プロパティ p2debugFillProperties メソッドに追加されていないため、この診断を生成します。

dart
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

class C extends Widget {
  bool get p1 => true;

  bool get p2 => false;

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties.add(DiagnosticsProperty<bool>('p1', p1));
  }
}

一般的な修正

#

debugFillProperties または debugDescribeChildren メソッドのオーバーライドがない場合は、追加してください。

debugFillProperties または debugDescribeChildren メソッドにプロパティの説明を追加してください。

dart
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

class C extends Widget {
  bool get p1 => true;

  bool get p2 => false;

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties.add(DiagnosticsProperty<bool>('p1', p1));
    properties.add(DiagnosticsProperty<bool>('p2', p2));
  }
}