FIR: fix nullability computation of intersection of flexible types
Without this, currently, it(ft(J..J?), ft(J..J?) => J which should be ft(J..J?) instead.
This commit is contained in:
committed by
Dmitriy Novozhilov
parent
0cb039eea7
commit
871b5a2174
+1
-1
@@ -41,7 +41,7 @@ fun case2() {
|
||||
fun case3() {
|
||||
val a1 = false
|
||||
val a2 = JavaClass.VALUE
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any..kotlin.Any?! & kotlin.Any")!>a2<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any..kotlin.Any?!")!>a2<!>
|
||||
|
||||
val x3 = a1 && a2
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ fun case2() {
|
||||
fun case3() {
|
||||
val a1 = false
|
||||
val a2 = JavaClass.VALUE
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any..kotlin.Any?! & kotlin.Any")!>a2<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any..kotlin.Any?!")!>a2<!>
|
||||
|
||||
val x3 = a1 || a2
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@ import checkSubtype
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case1() {
|
||||
val a = JavaClass.STR
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?! & kotlin.String")!>a<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?!")!>a<!>
|
||||
val res = a!!
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>res<!>
|
||||
}
|
||||
@@ -30,7 +30,7 @@ fun case1() {
|
||||
// TESTCASE NUMBER: 2
|
||||
fun case2() {
|
||||
val a = JavaClass.obj
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any..kotlin.Any?! & kotlin.Any")!>a<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any..kotlin.Any?!")!>a<!>
|
||||
val x = a!!
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>x<!>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user