Sterling Albury
04/08/2023, 1:16 AMsealed 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 = foo.bar
}
The ide doesn't give any error but when I build the project it say foo.bar
is unresolved at val fooBar = foo.bar
. Not sure what I'm missing here...any insight would be appreciated. Thanks