argument_must_be_a_constant
引数 '{0}' は定数である必要があります。
説明
#Pointer.asFunction または DynamicLibrary.lookupFunction の呼び出しで、isLeaf 引数の値が定数式ではない場合に、アナライザーはこの診断を生成します。
Pointer.fromFunction または NativeCallable.isolateLocal の呼び出しで、exceptionalReturn 引数の値が定数式ではない場合にも、アナライザーはこの診断を生成します。
FFI の詳細については、dart:ffi を使用した C の相互運用 を参照してください。
例
#以下のコードは、isLeaf 引数の値がパラメータであり、定数ではないため、この診断を生成します。
dart
import 'dart:ffi';
int Function(int) fromPointer(
Pointer<NativeFunction<Int8 Function(Int8)>> p, bool isLeaf) {
return p.asFunction(isLeaf: isLeaf);
}一般的な修正
#適切な定数を使用できる場合は、引数を定数に置き換えてください。
dart
import 'dart:ffi';
const isLeaf = false;
int Function(int) fromPointer(Pointer<NativeFunction<Int8 Function(Int8)>> p) {
return p.asFunction(isLeaf: isLeaf);
}適切な定数がない場合は、引数をブール値リテラルに置き換えてください。
dart
import 'dart:ffi';
int Function(int) fromPointer(Pointer<NativeFunction<Int8 Function(Int8)>> p) {
return p.asFunction(isLeaf: true);
}