I have multi module project and inside module I have public interface
public interface UserRepository {
...
}
and internal implementation of this interface
@Bound
internal class UserRepositoryImpl @Inject constructor(): UserRepository {
...
}
With kapt processor It works fine because it's Java and it doesn't know about "internal" modifier:
@Module
@InstallIn(SingletonComponent.class)
public interface UserRepository_SingletonComponent_BindingsModule {
@Binds
@Singleton
@NonNull
UserRepository bindUserRepositoryImpl(@NonNull UserRepositoryImpl implementation);
}
But with ksp processor I'm receiving an error 'public' function exposes its 'internal' parameter type UserRepositoryImpl:
@Module
@InstallIn(SingletonComponent::class)
public interface UserRepository_SingletonComponent_BindingsModule {
@Binds
public fun bindUserRepository(implementation: UserRepositoryImpl): UserRepository
}
Would be good if class that marked with annotation @Bound/@BoundTo has "internal" visibility modifier, than generated "*_BindingsModule" class would also have internal visibility modifier.
I have multi module project and inside module I have public interface
and internal implementation of this interface
With kapt processor It works fine because it's Java and it doesn't know about "internal" modifier:
But with ksp processor I'm receiving an error
'public' function exposes its 'internal' parameter type UserRepositoryImpl:Would be good if class that marked with annotation @Bound/@BoundTo has "internal" visibility modifier, than generated "*_BindingsModule" class would also have internal visibility modifier.