size_ annotation_ dimensions
Detalhes sobre o diagnóstico 'size_annotation_dimensions' produzido pelo analisador do Dart.
'Array's must have an 'Array' annotation that matches the dimensions.
Descrição
#
O analisador produz este diagnóstico quando o número de dimensões especificado em uma anotação Array
não corresponde ao número de arrays aninhados especificado pelo tipo de um campo.
Para mais informações sobre FFI, veja Interoperabilidade com C usando dart:ffi.
Exemplo
#
O código a seguir produz este diagnóstico porque o campo a0 tem um tipo com três arrays aninhados, mas apenas duas dimensões são informadas na anotação
Array:
import 'dart:ffi';
final class C extends Struct {
@Array(8, 8)
external Array<Array<Array<Uint8>>> a0;
}
Correções comuns
#Se o tipo do campo está correto, então corrija a anotação para ter o número de dimensões necessário:
import 'dart:ffi';
final class C extends Struct {
@Array(8, 8, 4)
external Array<Array<Array<Uint8>>> a0;
}
Se o tipo do campo está errado, então corrija o tipo do campo:
import 'dart:ffi';
final class C extends Struct {
@Array(8, 8)
external Array<Array<Uint8>> a0;
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.