跳到主要內容

ffi_native_must_be_external

原生函式必須宣告為 external。

描述

#

當函式被註解為 @Native 但未標記為 external 時,分析器會生成此診斷資訊。

示例

#

以下程式碼會生成此診斷資訊,因為函式 free 被註解為 @Native,但未標記為 external

dart
import 'dart:ffi';

@Native<Void Function(Pointer<Void>)>()
void free(Pointer<Void> ptr) {}

常見修復方法

#

如果該函式是原生函式,則在返回型別之前新增修飾符 external

dart
import 'dart:ffi';

@Native<Void Function(Pointer<Void>)>()
external void free(Pointer<Void> ptr);