extra_annotation_on_struct_field
extra_annotation_on_struct_field
Struct 하위 클래스의 필드는 네이티브 타입을 나타내는 어노테이션을 정확히 하나만 가져야 해요. 필드에 어노테이션이 두 개 이상 붙으면 이 진단이 발생하는 거예요.
본문
설명
analyzer는 Struct 하위 클래스의 필드가 네이티브 타입을 나타내는 어노테이션을 한 개보다 많이 가질 때 이 진단을 내보내요. FFI에 대한 자세한 내용은 dart:ffi를 사용한 C 연동(C interop) 문서를 참고해 주세요.
예시
아래 코드는 필드 x가 네이티브 타입을 나타내는 어노테이션을 두 개 갖고 있어서 이 진단이 발생해요.
import 'dart:ffi';
final class C extends Struct {
@Int32()
@Int16()
external int x;
}
흔한 해결 방법
어노테이션을 하나만 남기고 나머지는 제거하면 돼요.
import 'dart:ffi';
final class C extends Struct {
@Int32()
external int x;
}
더 알아보기
Struct필드는 네이티브 메모리 레이아웃과 1:1로 대응돼요. 필드의 네이티브 타입은 어노테이션 하나로 명확하게 지정해 주세요.