[Invariant Fix] Adjust DataFlowValue::Identifier for refinement

After refinement is introduced it becomes possible to have a different
descriptors instances for effectively the same descriptors

Also, it accidentally fixes KT-25432 because is caused by a different
version of descriptors created for NewCapturedType

^KT-25432 Fixed
This commit is contained in:
Denis Zharkov
2019-04-04 15:43:42 +03:00
committed by Dmitry Savvinov
parent 21cc93860b
commit daa27016ca
4 changed files with 145 additions and 143 deletions
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.lexer.KtToken
import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.DescriptorEquivalenceForOverrides
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
import org.jetbrains.kotlin.resolve.calls.callUtil.isSafeCall import org.jetbrains.kotlin.resolve.calls.callUtil.isSafeCall
@@ -59,9 +60,10 @@ interface IdentifierInfo {
override val canBeBound override val canBeBound
get() = kind == STABLE_VALUE get() = kind == STABLE_VALUE
override fun equals(other: Any?) = other is Variable && variable == other.variable override fun equals(other: Any?) =
other is Variable && DescriptorEquivalenceForOverrides.areCallableDescriptorsEquivalent(variable, other.variable)
override fun hashCode() = variable.hashCode() override fun hashCode() = variable.name.hashCode() * 31 + variable.containingDeclaration.original.hashCode()
override fun toString() = variable.toString() override fun toString() = variable.toString()
} }
@@ -18,7 +18,7 @@
fun case_1(x: Pair<*, *>) { fun case_1(x: Pair<*, *>) {
if (x.first !is String) return if (x.first !is String) return
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x.first<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x.first<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x.first<!>.<!UNRESOLVED_REFERENCE!>length<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?"), SMARTCAST_IMPOSSIBLE!>x.first<!>.length
} }
/* /*
@@ -28,5 +28,5 @@ fun case_1(x: Pair<*, *>) {
fun case_2(x: Pair<*, *>) { fun case_2(x: Pair<*, *>) {
if (x.first !is String?) throw Exception() if (x.first !is String?) throw Exception()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x.first<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x.first<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x.first<!>?.<!UNRESOLVED_REFERENCE!>length<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?"), SMARTCAST_IMPOSSIBLE!>x.first<!>?.length
} }
@@ -75,8 +75,8 @@ fun <T> ClassWithSixTypeParameters<out T, *, T, in T?, *, T>.case_5() {
*/ */
fun <T> case_6(y: Inv<out T>) { fun <T> case_6(y: Inv<out T>) {
if (y.prop_3 is MutableList<*>) { if (y.prop_3 is MutableList<*>) {
<!DEBUG_INFO_EXPRESSION_TYPE("T")!>y.prop_3<!> <!DEBUG_INFO_EXPRESSION_TYPE("T & T!! & kotlin.collections.MutableList<*>")!>y.prop_3<!>
<!DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!><!DEBUG_INFO_EXPRESSION_TYPE("T")!>y.prop_3<!><!NO_GET_METHOD!>[0]<!><!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableList<*>"), DEBUG_INFO_SMARTCAST!>y.prop_3<!>[0]
} }
} }
@@ -87,10 +87,10 @@ fun <T> case_6(y: Inv<out T>) {
*/ */
fun <T> Inv<out T>.case_7() { fun <T> Inv<out T>.case_7() {
if (this.prop_3 is MutableList<*>) { if (this.prop_3 is MutableList<*>) {
<!DEBUG_INFO_EXPRESSION_TYPE("T")!>this.prop_3<!> <!DEBUG_INFO_EXPRESSION_TYPE("T & T!! & kotlin.collections.MutableList<*>")!>this.prop_3<!>
<!DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!><!DEBUG_INFO_EXPRESSION_TYPE("T")!>this.prop_3<!><!NO_GET_METHOD!>[0]<!><!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableList<*>"), DEBUG_INFO_SMARTCAST!>this.prop_3<!>[0]
<!DEBUG_INFO_EXPRESSION_TYPE("T")!>prop_3<!> <!DEBUG_INFO_EXPRESSION_TYPE("T & T!! & kotlin.collections.MutableList<*>")!>prop_3<!>
<!DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!><!DEBUG_INFO_EXPRESSION_TYPE("T")!>prop_3<!><!NO_GET_METHOD!>[0]<!><!> <!DEBUG_INFO_EXPRESSION_TYPE("T & kotlin.collections.MutableList<*>"), DEBUG_INFO_SMARTCAST!>prop_3<!>[0]
} }
} }
+132 -132
View File
@@ -170,73 +170,73 @@ fun case_8(x: ClassWithThreeTypeParameters<out Int?, out Short?, ClassWithThreeT
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?>?")!>x<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?>?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?>?")!>x<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?>?")!>x<!>.funNullableAny()
if (x.x != null) { if (x.x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.x<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x.x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.x<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>x.x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.x<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>x.x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.x<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>x.x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.x<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x.x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.x<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x.x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.x<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>x.x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.x<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>x.x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.x<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x.x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.x<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x.x<!>.funNullableAny()
} }
if (x.y != null) { if (x.y != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.y<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short & kotlin.Short?")!>x.y<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.y<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short"), DEBUG_INFO_SMARTCAST!>x.y<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.y<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short"), DEBUG_INFO_SMARTCAST!>x.y<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.y<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short"), DEBUG_INFO_SMARTCAST!>x.y<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.y<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short & kotlin.Short?")!>x.y<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.y<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short & kotlin.Short?")!>x.y<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.y<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short"), DEBUG_INFO_SMARTCAST!>x.y<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.y<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short"), DEBUG_INFO_SMARTCAST!>x.y<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.y<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short & kotlin.Short?")!>x.y<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.y<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short & kotlin.Short?")!>x.y<!>.funNullableAny()
} }
if (x.z != null) { if (x.z != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!> <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?> & ClassWithThreeTypeParameters<out kotlin.Int?, out kotlin.Short?, out kotlin.String?>?")!>x.z<!>.funNullableAny()
if (x.z<!UNSAFE_CALL!>.<!>x != null) { if (x.z.x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.z<!UNSAFE_CALL!>.<!>x<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x.z.x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.z<!UNSAFE_CALL!>.<!>x<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>x.z.x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.z<!UNSAFE_CALL!>.<!>x<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>x.z.x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.z<!UNSAFE_CALL!>.<!>x<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>x.z.x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.z<!UNSAFE_CALL!>.<!>x<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x.z.x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.z<!UNSAFE_CALL!>.<!>x<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x.z.x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.z<!UNSAFE_CALL!>.<!>x<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>x.z.x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.z<!UNSAFE_CALL!>.<!>x<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>x.z.x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.z<!UNSAFE_CALL!>.<!>x<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x.z.x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x.z<!UNSAFE_CALL!>.<!>x<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x.z.x<!>.funNullableAny()
} }
if (x.z<!UNSAFE_CALL!>.<!>y != null && x.z<!UNSAFE_CALL!>.<!>z != null) { if (x.z.y != null && x.z.z != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.z<!UNSAFE_CALL!>.<!>y<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short & kotlin.Short?")!>x.z.y<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x.z<!UNSAFE_CALL!>.<!>z<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String?")!>x.z.z<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.z<!UNSAFE_CALL!>.<!>y<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short"), DEBUG_INFO_SMARTCAST!>x.z.y<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.z<!UNSAFE_CALL!>.<!>y<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short"), DEBUG_INFO_SMARTCAST!>x.z.y<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.z<!UNSAFE_CALL!>.<!>y<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short"), DEBUG_INFO_SMARTCAST!>x.z.y<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.z<!UNSAFE_CALL!>.<!>y<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short & kotlin.Short?")!>x.z.y<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.z<!UNSAFE_CALL!>.<!>y<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short & kotlin.Short?")!>x.z.y<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.z<!UNSAFE_CALL!>.<!>y<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short"), DEBUG_INFO_SMARTCAST!>x.z.y<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.z<!UNSAFE_CALL!>.<!>y<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short"), DEBUG_INFO_SMARTCAST!>x.z.y<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.z<!UNSAFE_CALL!>.<!>y<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short & kotlin.Short?")!>x.z.y<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short?")!>x.z<!UNSAFE_CALL!>.<!>y<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Short & kotlin.Short?")!>x.z.y<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x.z<!UNSAFE_CALL!>.<!>z<!>.equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String"), DEBUG_INFO_SMARTCAST!>x.z.z<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x.z<!UNSAFE_CALL!>.<!>z<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String"), DEBUG_INFO_SMARTCAST!>x.z.z<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x.z<!UNSAFE_CALL!>.<!>z<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String"), DEBUG_INFO_SMARTCAST!>x.z.z<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x.z<!UNSAFE_CALL!>.<!>z<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String?")!>x.z.z<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x.z<!UNSAFE_CALL!>.<!>z<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String?")!>x.z.z<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x.z<!UNSAFE_CALL!>.<!>z<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String"), DEBUG_INFO_SMARTCAST!>x.z.z<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x.z<!UNSAFE_CALL!>.<!>z<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String"), DEBUG_INFO_SMARTCAST!>x.z.z<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x.z<!UNSAFE_CALL!>.<!>z<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String?")!>x.z.z<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x.z<!UNSAFE_CALL!>.<!>z<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String?")!>x.z.z<!>.funNullableAny()
} }
} }
} }
@@ -428,16 +428,16 @@ fun case_17(a: Inv<out Out<Out<Out<Out<Out<Int?>?>?>?>?>?>?) {
*/ */
fun case_18(a: Inv<out Int?>) { fun case_18(a: Inv<out Int?>) {
if (a.x != null) { if (a.x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>a.x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>a.x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>a.x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>a.x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>a.x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>a.x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>a.x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>a.x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>a.x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>a.x<!>.funNullableAny()
} }
} }
@@ -460,16 +460,16 @@ fun case_19(a: Inv<out Nothing?>) {
*/ */
fun case_20(a: Inv<out Any?>) { fun case_20(a: Inv<out Any?>) {
if (a.x != null) { if (a.x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.funNullableAny()
} }
} }
@@ -480,16 +480,16 @@ fun case_20(a: Inv<out Any?>) {
*/ */
fun case_21(a: Out<<!REDUNDANT_PROJECTION!>out<!> Int?>) { fun case_21(a: Out<<!REDUNDANT_PROJECTION!>out<!> Int?>) {
if (a.x != null) { if (a.x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>a.x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>a.x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>a.x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>a.x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>a.x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>a.x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>a.x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int"), DEBUG_INFO_SMARTCAST!>a.x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>a.x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>a.x<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>a.x<!>.funNullableAny()
} }
} }
@@ -512,16 +512,16 @@ fun case_22(a: Out<<!REDUNDANT_PROJECTION!>out<!> Nothing?>) {
*/ */
fun case_23(a: Out<<!REDUNDANT_PROJECTION!>out<!> Any?>) { fun case_23(a: Out<<!REDUNDANT_PROJECTION!>out<!> Any?>) {
if (a.x != null) { if (a.x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.funNullableAny()
} }
} }
@@ -572,16 +572,16 @@ fun case_26(a: Out<Any?>) {
*/ */
fun case_27(a: Inv<in Any>) { fun case_27(a: Inv<in Any>) {
if (a.x != null) { if (a.x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.funNullableAny()
} }
} }
@@ -592,16 +592,16 @@ fun case_27(a: Inv<in Any>) {
*/ */
fun case_28(a: Inv<in Float>) { fun case_28(a: Inv<in Float>) {
if (a.x != null) { if (a.x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.funNullableAny()
} }
} }
@@ -612,16 +612,16 @@ fun case_28(a: Inv<in Float>) {
*/ */
fun case_29(a: Inv<in Nothing>) { fun case_29(a: Inv<in Nothing>) {
if (a.x != null) { if (a.x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!> <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>equals(null) <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>propAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propNullableT <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.propNullableAny <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!><!UNSAFE_CALL!>.<!>funAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any"), DEBUG_INFO_SMARTCAST!>a.x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funNullableT() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a.x<!>.funNullableAny() <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a.x<!>.funNullableAny()
} }
} }