Sterling Albury

04/08/2023, 1:16 AM
I'm trying to use kotlin contracts but I'm getting an unresolved reference when I build the project. the class I have looks like this:
sealed class Foo {
    fun isFooOne(): Boolean {
        contract {
            returns(true) implies (this@Foo is FooOne)
            returns(false) implies (this@Foo is FooTwo)
        return this is FooOne

    data class FooOne(val valueOne: String) : Foo()
    data class FooTwo(val valueTwo: String, val bar: String) : Foo()
This is defined in a share kotlin multiplatform project. I'm able to use this in another module(android project) like so:
val foo = getFoo()
if (foo.isFooOne()) {
    val fooValue = foo.valueOne
} else {
    val fooBar =
The ide doesn't give any error but when I build the project it say
is unresolved at
val fooBar =
. Not sure what I'm missing here...any insight would be appreciated. Thanks