diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/util/NotNullVar.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/util/NotNullVar.kt deleted file mode 100644 index 2166b1c51..000000000 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/util/NotNullVar.kt +++ /dev/null @@ -1,32 +0,0 @@ -package ru.dbotthepony.mc.otm.util - -import ru.dbotthepony.kommons.util.Delegate -import ru.dbotthepony.kommons.util.KOptional -import kotlin.properties.Delegates -import kotlin.properties.ReadWriteProperty -import kotlin.reflect.KProperty - -/** - * Different from [Delegates.notNull] by allowing [V] to be nullable - */ -class NotNullVar : Delegate, ReadWriteProperty { - private var value: KOptional = KOptional() - - override fun accept(t: V) { - value = KOptional(t) - } - - override fun get(): V { - value.ifPresent { return it } - throw IllegalStateException("Uninitialized variable") - } - - override fun getValue(thisRef: Any?, property: KProperty<*>): V { - value.ifPresent { return it } - throw IllegalStateException("Uninitialized variable ${property.name}") - } - - override fun setValue(thisRef: Any?, property: KProperty<*>, value: V) { - accept(value) - } -}