AT
Size: a a a
AT
YS
ИЗ
interface LikeEnum {
companion object {
const val A = 10
const val B = 20
}
}
V
V
interface LikeEnum {
companion object {
const val A = 10
const val B = 20
}
}
V
DT
public interface ViewModule {}
public interface ViewComponent<V> {
void inject(V view);
}
public interface ViewComponentBuilder<C extends ViewComponent, M extends ViewModule> {
C build();
ViewComponentBuilder<C, M> module(M module);
}
VS
DT
interface ViewModule
interface ViewComponent<V> {
fun inject(view: V)
}
interface ViewComponentBuilder<C : ViewComponent<*>, M : ViewModule> {
fun build(): C
fun module(module: M): ViewComponentBuilder<C, M>
}
@Provides
@IntoMap
@ClassKey(FirstActivity.class)
ViewComponentBuilder provideFirstActivityBuilder(FirstActivityComponent.Builder builder) {
return builder;
}
DT
@Provides
@IntoMap
@ClassKey(FirstActivity::class)
fun provideFirstActivityBuilder(firstActivityComponentBuilder: FirstActivityComponent.Builder): ViewComponentBuilder {
return firstActivityComponentBuilder;
}
2 type arguments expected for interface ViewComponentBuilder<C : ViewComponent<*>, M : ViewModule>
ДФ
RC
V
PH
V
V
V