| // WITH_KOTLIN_JVM_ANNOTATIONS |
| // TARGET_BACKEND: JVM |
| package test |
| |
| import java.util.ArrayList |
| import kotlin.annotations.jvm.* |
| |
| public interface LoadIterableWithPropagation { |
| public interface LoadIterable<T> { |
| @Mutable |
| public fun getIterable(): MutableIterable<T>? |
| public fun setIterable(@Mutable p0: MutableIterable<T>?) |
| |
| @ReadOnly |
| public fun getReadOnlyIterable(): Iterable<T>? |
| public fun setReadOnlyIterable(@ReadOnly p0: Iterable<T>?) |
| } |
| |
| public open class LoadIterableImpl<T> : LoadIterable<T> { |
| public override fun getIterable(): MutableIterable<T>? = ArrayList<T>() |
| public override fun setIterable(p0: MutableIterable<T>?): Unit {} |
| |
| public override fun getReadOnlyIterable(): Iterable<T>? = ArrayList<T>() |
| public override fun setReadOnlyIterable(p0: Iterable<T>?): Unit {} |
| } |
| } |