[NI] Restore missing smart casts after another smart cast in call
Expression type serves as a part of a key for retrieving smart cast info. Rewriting expression type with SmartCastManager leads to incorrect processing of following smartcasts for same expression, therefore it was removed. KT-32507 Fixed KT-32358 Fixed
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
|
||||
fun foo(bar: Any?): Int {
|
||||
bar as String?
|
||||
bar ?: throw IllegalStateException()
|
||||
return bar.length
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
|
||||
fun foo(bar: Any?): Int {
|
||||
bar as String?
|
||||
<!DEBUG_INFO_SMARTCAST!>bar<!> ?: throw IllegalStateException()
|
||||
return <!DEBUG_INFO_SMARTCAST!>bar<!>.length
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package
|
||||
|
||||
public fun foo(/*0*/ bar: kotlin.Any?): kotlin.Int
|
||||
Reference in New Issue
Block a user