pubgrub/src/commonMain/kotlin/IncompatibilityCause.kt
2019-09-27 17:43:41 +02:00

20 lines
No EOL
602 B
Kotlin

package net.cijber.pubgrub
import net.cijber.pubgrub.stubs.PackageId
import net.cijber.pubgrub.stubs.Version
sealed class IncompatibilityCause<P : PackageId, V : Version<V>> {
enum class SimpleCause {
Root,
Dependency,
UseLatest,
NoVersions,
UnknownSource
}
data class Simple<P : PackageId, V : Version<V>>(val cause: SimpleCause) : IncompatibilityCause<P, V>()
data class ConflictCause<P : PackageId, V : Version<V>>(
val conflict: Incompatibility<P, V>,
val other: Incompatibility<P, V>
) : IncompatibilityCause<P, V>()
}