Kotlin Contract でこのスマートキャストを可能にすることは可能ですか?
マップの次の拡張機能があると仮定します
fun<K, V> Maps<K, V>.contains(k : K) : Boolean
{
//simply check for map containing key
}
そのメソッドを呼び出した後、この呼び出しを NotNull にキャストします。
if(map.contains(key))
{
map.get(key).callAnyMethod()
//smartcast get(key) to not null
}