Pular para o conteúdo principal

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:

dart
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:

dart
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:

dart
import 'dart:ffi';
​
final class C extends Struct {
  @Array(8, 8)
  external Array<Array<Uint8>> a0;
}

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