| package test; |
| |
| import dagger.Lazy; |
| import dagger.internal.DaggerGenerated; |
| import dagger.internal.DoubleCheck; |
| import javax.annotation.processing.Generated; |
| import javax.inject.Provider; |
| |
| @DaggerGenerated |
| @Generated( |
| value = "dagger.internal.codegen.ComponentProcessor", |
| comments = "https://dagger.dev" |
| ) |
| @SuppressWarnings({ |
| "unchecked", |
| "rawtypes", |
| "KotlinInternal", |
| "KotlinInternalInJava" |
| }) |
| final class DaggerSimpleComponent { |
| private DaggerSimpleComponent() { |
| } |
| |
| public static Builder builder() { |
| return new Builder(); |
| } |
| |
| public static SimpleComponent create() { |
| return new Builder().build(); |
| } |
| |
| static final class Builder { |
| private Builder() { |
| } |
| |
| public SimpleComponent build() { |
| return new SimpleComponentImpl(); |
| } |
| } |
| |
| private static final class SimpleComponentImpl implements SimpleComponent { |
| private final SimpleComponentImpl simpleComponentImpl = this; |
| |
| private Provider<SomeInjectableType> someInjectableTypeProvider; |
| |
| private SimpleComponentImpl() { |
| |
| initialize(); |
| |
| } |
| |
| @SuppressWarnings("unchecked") |
| private void initialize() { |
| this.someInjectableTypeProvider = new SwitchingProvider<>(simpleComponentImpl, 0); |
| } |
| |
| @Override |
| public SomeInjectableType someInjectableType() { |
| return someInjectableTypeProvider.get(); |
| } |
| |
| @Override |
| public Lazy<SomeInjectableType> lazySomeInjectableType() { |
| return DoubleCheck.lazy(someInjectableTypeProvider); |
| } |
| |
| @Override |
| public Provider<SomeInjectableType> someInjectableTypeProvider() { |
| return someInjectableTypeProvider; |
| } |
| |
| private static final class SwitchingProvider<T> implements Provider<T> { |
| private final SimpleComponentImpl simpleComponentImpl; |
| |
| private final int id; |
| |
| SwitchingProvider(SimpleComponentImpl simpleComponentImpl, int id) { |
| this.simpleComponentImpl = simpleComponentImpl; |
| this.id = id; |
| } |
| |
| @SuppressWarnings("unchecked") |
| @Override |
| public T get() { |
| switch (id) { |
| case 0: // test.SomeInjectableType |
| return (T) new SomeInjectableType(); |
| |
| default: throw new AssertionError(id); |
| } |
| } |
| } |
| } |
| } |
| |