package test; import com.google.common.collect.ImmutableMap; import dagger.internal.DaggerGenerated; import dagger.internal.Provider; import java.util.Map; import javax.annotation.processing.Generated; @DaggerGenerated @Generated( value = "dagger.internal.codegen.ComponentProcessor", comments = "https://dagger.dev" ) @SuppressWarnings({ "unchecked", "rawtypes", "KotlinInternal", "KotlinInternalInJava", "cast" }) final class DaggerTestComponent { private DaggerTestComponent() { } public static Builder builder() { return new Builder(); } public static TestComponent create() { return new Builder().build(); } static final class Builder { private Builder() { } public TestComponent build() { return new TestComponentImpl(); } } private static final class SubImpl implements Sub { private final TestComponentImpl testComponentImpl; private final SubImpl subImpl = this; private Provider provideLong3Provider; private Provider provideLong4Provider; private Provider provideLong5Provider; private SubImpl(TestComponentImpl testComponentImpl) { this.testComponentImpl = testComponentImpl; initialize(); } @SuppressWarnings("unchecked") private void initialize() { this.provideLong3Provider = new SwitchingProvider<>(testComponentImpl, subImpl, 0); this.provideLong4Provider = new SwitchingProvider<>(testComponentImpl, subImpl, 1); this.provideLong5Provider = new SwitchingProvider<>(testComponentImpl, subImpl, 2); } @Override public Map longs() { return ImmutableMap.builderWithExpectedSize(6).put(0L, testComponentImpl.provideLong0Provider.get()).put(1L, testComponentImpl.provideLong1Provider.get()).put(2L, testComponentImpl.provideLong2Provider.get()).put(3L, provideLong3Provider.get()).put(4L, provideLong4Provider.get()).put(5L, provideLong5Provider.get()).build(); } @Override public Map> providerLongs() { return ImmutableMap.>builderWithExpectedSize(6).put(0L, testComponentImpl.provideLong0Provider).put(1L, testComponentImpl.provideLong1Provider).put(2L, testComponentImpl.provideLong2Provider).put(3L, provideLong3Provider).put(4L, provideLong4Provider).put(5L, provideLong5Provider).build(); } private static final class SwitchingProvider implements Provider { private final TestComponentImpl testComponentImpl; private final SubImpl subImpl; private final int id; SwitchingProvider(TestComponentImpl testComponentImpl, SubImpl subImpl, int id) { this.testComponentImpl = testComponentImpl; this.subImpl = subImpl; this.id = id; } @SuppressWarnings("unchecked") @Override public T get() { switch (id) { case 0: // java.util.Map> test.SubcomponentMapModule#provideLong3 return (T) (Long) SubcomponentMapModule.provideLong3(); case 1: // java.util.Map> test.SubcomponentMapModule#provideLong4 return (T) (Long) SubcomponentMapModule.provideLong4(); case 2: // java.util.Map> test.SubcomponentMapModule#provideLong5 return (T) (Long) SubcomponentMapModule.provideLong5(); default: throw new AssertionError(id); } } } } private static final class TestComponentImpl implements TestComponent { private final TestComponentImpl testComponentImpl = this; private Provider provideIntProvider; private Provider provideLong0Provider; private Provider provideLong1Provider; private Provider provideLong2Provider; private TestComponentImpl() { initialize(); } @SuppressWarnings("unchecked") private void initialize() { this.provideIntProvider = new SwitchingProvider<>(testComponentImpl, 0); this.provideLong0Provider = new SwitchingProvider<>(testComponentImpl, 1); this.provideLong1Provider = new SwitchingProvider<>(testComponentImpl, 2); this.provideLong2Provider = new SwitchingProvider<>(testComponentImpl, 3); } @Override public Map strings() { return ImmutableMap.of(); } @Override public Map> providerStrings() { return ImmutableMap.>of(); } @Override public Map ints() { return ImmutableMap.of(0, provideIntProvider.get()); } @Override public Map> providerInts() { return ImmutableMap.>of(0, provideIntProvider); } @Override public Map longs() { return ImmutableMap.of(0L, provideLong0Provider.get(), 1L, provideLong1Provider.get(), 2L, provideLong2Provider.get()); } @Override public Map> providerLongs() { return ImmutableMap.>of(0L, provideLong0Provider, 1L, provideLong1Provider, 2L, provideLong2Provider); } @Override public Sub sub() { return new SubImpl(testComponentImpl); } private static final class SwitchingProvider implements Provider { private final TestComponentImpl testComponentImpl; private final int id; SwitchingProvider(TestComponentImpl testComponentImpl, int id) { this.testComponentImpl = testComponentImpl; this.id = id; } @SuppressWarnings("unchecked") @Override public T get() { switch (id) { case 0: // java.util.Map> test.MapModule#provideInt return (T) (Integer) MapModule.provideInt(); case 1: // java.util.Map> test.MapModule#provideLong0 return (T) (Long) MapModule.provideLong0(); case 2: // java.util.Map> test.MapModule#provideLong1 return (T) (Long) MapModule.provideLong1(); case 3: // java.util.Map> test.MapModule#provideLong2 return (T) (Long) MapModule.provideLong2(); default: throw new AssertionError(id); } } } } }