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

negative_variable_dimension

可変長配列の可変次元は、非負である必要があります。

説明

#

アナライザーはこの診断を2つのケースで生成します。

1つ目は、Array.variableWithVariableDimension アノテーションで指定された可変次元が負の場合です。可変次元は、アノテーションの最初の引数です。

2つ目は、Array.variableMulti アノテーションで指定された可変次元が負の場合です。可変次元は、アノテーションの variableDimension 引数で指定されます。

FFI の詳細については、dart:ffi を使用した C の相互運用 を参照してください。

#

以下のコードは、Array.variableWithVariableDimension アノテーションで -1 の可変次元が提供されたため、この診断を生成します。

dart
import 'dart:ffi';

final class MyStruct extends Struct {
  @Array.variableWithVariableDimension(-1)
  external Array<Uint8> a0;
}

以下のコードは、Array.variableMulti アノテーションで -1 の可変次元が提供されたため、この診断を生成します。

dart
import 'dart:ffi';

final class MyStruct2 extends Struct {
  @Array.variableMulti(variableDimension: -1, [1, 2])
  external Array<Array<Array<Uint8>>> a0;
}

一般的な修正

#

可変次元をゼロ (0) または正の数に変更してください。

dart
import 'dart:ffi';

final class MyStruct extends Struct {
  @Array.variableWithVariableDimension(1)
  external Array<Uint8> a0;
}

可変次元をゼロ (0) または正の数に変更してください。

dart
import 'dart:ffi';

final class MyStruct2 extends Struct {
  @Array.variableMulti(variableDimension: 1, [1, 2])
  external Array<Array<Array<Uint8>>> a0;
}