square / dagger

A fast dependency injector for Android and Java.
https://square.github.io/dagger/
Apache License 2.0
7.31k stars 3.06k forks source link

MemberInjection.create parameters order #547

Closed marciodel closed 7 years ago

marciodel commented 7 years ago

I'm using Dagger2 Compiler in Eclipse Neon. It works fine in a clean build. Sometimes the generation during edit gives an error:

The method create(Provider, Provider, Provider

, Provider, Provider, Provider, Provider, Provider, Provider) in the type Navigation_MembersInjector is not applicable for the arguments (Provider, Provider, Provider
, Provider, Provider, Provider, Provider, Provider, Provider) DaggerApplicationComponent.java /CodePay/.apt_generated/.../di line 144 Java Problem

The Navigation has @Inject for Provider<"Screen"> for each "Screen".

In DemoApplication component the it tryes to create the MemberInjector like :

this.navigationMembersInjector =
    Navigation_MembersInjector.create(
        compraProvider,
        loginProvider,
        mainProvider,
        notaFiscalProvider,
        produtoProvider,
        promocaoProvider,
        pulseProvider,
        shellProvider,
        voucherProvider);

But the Navigation_MembersInjector.create is generated:

  public static MembersInjector<Navigation> create(
  Provider<Login> loginProvider,
  Provider<Shell> shellProvider,
  Provider<Main> mainProvider,
  Provider<Produto> produtoProvider,
  Provider<NotaFiscal> notaFiscalProvider,
  Provider<Promocao> promocaoProvider,
  Provider<Pulse> pulseProvider,
  Provider<Compra> compraProvider,
  Provider<Voucher> voucherProvider) {
return new Navigation_MembersInjector(
    loginProvider,
    shellProvider,
    mainProvider,
    produtoProvider,
    notaFiscalProvider,
    promocaoProvider,
    pulseProvider,
    compraProvider,
    voucherProvider);

}

Thanks!

marciodel commented 7 years ago

Sorry! Wrong version.