Pular para o conteúdo principal

invalid_factory_method_impl

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

Factory method '{0}' doesn't return a newly allocated object.

Descrição

#

O analisador produz este diagnóstico quando um método anotado com a anotação factory não retorna um objeto recém-alocado.

Exemplo

#

O código a seguir produz este diagnóstico porque o método createC retorna o valor de um campo, em vez de uma nova instância de C:

dart
import 'package:meta/meta.dart';
​
class Factory {
  C c = C();
​
  @factory
  C createC() => c;
}
​
class C {}

Correções comuns

#

Altere o método para que ele retorne uma nova instância do tipo de retorno:

dart
import 'package:meta/meta.dart';
​
class Factory {
  @factory
  C createC() => C();
}
​
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ê.