Pular para o conteúdo principal

missing_annotation_on_struct_field

Detalhes sobre o diagnóstico 'missing_annotation_on_struct_field' produzido pelo analisador do Dart.

Fields of type '{0}' in a subclass of '{1}' must have an annotation indicating the native type.

Descrição

#

O analisador gera este diagnóstico quando um campo em uma subclasse de Struct ou Union cujo tipo exige uma anotação não tem essa anotação. Os tipos Dart int, double e Array são usados para representar vários tipos C, e a anotação especifica qual dos tipos C compatíveis o campo representa.

Para mais informações sobre FFI, consulte interoperabilidade com C usando dart:ffi.

Exemplo

#

O código a seguir gera este diagnóstico porque o campo x não tem uma anotação indicando a largura de bits do valor inteiro:

dart
import 'dart:ffi';
​
final class C extends Struct {
  external int x;
}

Correções comuns

#

Adicione uma anotação apropriada ao campo:

dart
import 'dart:ffi';
​
final class C extends Struct {
  @Int64()
  external int x;
}

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.