fix to string for objects and either
This commit is contained in:
@@ -38,8 +38,8 @@ class Either<A, B> private constructor(
|
|||||||
Either(a, b.mapNotNull(transform))
|
Either(a, b.mapNotNull(transform))
|
||||||
|
|
||||||
override fun toString(): String =
|
override fun toString(): String =
|
||||||
if (isA) "Either<A>($a)"
|
if (isA) "Either<A>(${a!!.v})"
|
||||||
else "Either<B>($b)"
|
else "Either<B>(${b!!.v})"
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun <A, B> ofA(a: A): Either<A, B> =
|
fun <A, B> ofA(a: A): Either<A, B> =
|
||||||
|
@@ -9,6 +9,9 @@ interface Obj<T> {
|
|||||||
fun <T> of(v: T): Obj<T> =
|
fun <T> of(v: T): Obj<T> =
|
||||||
object : Obj<T> {
|
object : Obj<T> {
|
||||||
override val v: T = v
|
override val v: T = v
|
||||||
|
|
||||||
|
override fun toString(): String =
|
||||||
|
"Obj($v)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -26,6 +29,9 @@ interface MutObj<T> {
|
|||||||
fun <T> of(v: T): MutObj<T> =
|
fun <T> of(v: T): MutObj<T> =
|
||||||
object : MutObj<T> {
|
object : MutObj<T> {
|
||||||
override var v: T = v
|
override var v: T = v
|
||||||
|
|
||||||
|
override fun toString(): String =
|
||||||
|
"MutObj($v)"
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T> mutex(v: T): MutObj<T> =
|
fun <T> mutex(v: T): MutObj<T> =
|
||||||
@@ -34,6 +40,9 @@ interface MutObj<T> {
|
|||||||
override var v: T = v
|
override var v: T = v
|
||||||
get() = lock.use { field }
|
get() = lock.use { field }
|
||||||
set(inp) = lock.use { field = inp }
|
set(inp) = lock.use { field = inp }
|
||||||
|
|
||||||
|
override fun toString(): String =
|
||||||
|
"MutMutexObj($v)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user