Pular para o conteúdo principal

subtype_of_ffi_class

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

The class '{0}' can't extend '{1}'.

The class '{0}' can't implement '{1}'.

The class '{0}' can't mix in '{1}'.

Descrição

#

O analisador produz este diagnóstico quando uma classe estende qualquer classe FFI diferente de Struct ou Union, ou implementa ou mistura qualquer classe FFI. Struct e Union são as únicas classes FFI que podem ser subtipadas, e somente estendendo-as.

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

Exemplo

#

O código a seguir produz este diagnóstico porque a classe C estende Double:

dart
import 'dart:ffi';
​
final class C extends Double {}

Correções comuns

#

Se a classe deve estender Struct ou Union, então altere a declaração da classe:

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

Se a classe não deve estender Struct nem Union, então remova quaisquer referências a classes FFI:

dart
final class C {}

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ê.