Pular para o conteúdo principal

prefer_spread_collections

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

The addition of multiple elements could be inlined.

Descrição

#

O analisador emite este diagnóstico quando addAll é usado para adicionar os itens de outra coleção a uma lista criada por um literal de lista, em uma situação em que um elemento spread poderia ser usado no lugar.

Exemplos

#

O código a seguir gera este diagnóstico porque os itens da lista numbers são adicionados a uma nova lista usando addAll:

dart
List<int> f(List<int> numbers) {
  return [0, 1]..addAll(numbers);
}

O código a seguir gera este diagnóstico porque os itens da lista numbers, que pode ser nula, são adicionados a uma nova lista usando addAll:

dart
List<int> f(List<int>? numbers) {
  return [0, 1]..addAll(numbers ?? const []);
}

Correções comuns

#

Se a coleção adicionada não for anulável, use um elemento spread (...) para incluir os seus itens na nova lista:

dart
List<int> f(List<int> numbers) {
  return [0, 1, ...numbers];
}

Se a coleção adicionada for anulável, use um elemento spread com verificação de nulo (...?) para incluir condicionalmente os seus itens na nova lista, caso ela não seja null:

dart
List<int> f(List<int>? numbers) {
  return [0, 1, ...?numbers];
}

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