[FIR] Implement REDUNDANT_PROJECTION diagnostics, rename FirConflictingProjectionChecker -> FirProjectionRelationChecker, fix tests

This commit is contained in:
Ivan Kochurkin
2021-06-01 19:53:13 +03:00
committed by teamcityserver
parent 03e577bf98
commit f081a6b4fa
19 changed files with 98 additions and 98 deletions
@@ -2525,7 +2525,7 @@ fun <T> case_37(x: Map<in T, *>?) {
}
// TESTCASE NUMBER: 38
fun <T> case_38(x: Map<*, out T>?) {
fun <T> case_38(x: Map<*, <!REDUNDANT_PROJECTION!>out<!> T>?) {
if (x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Map<*, out T>? & kotlin.collections.Map<*, out T>")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Map<*, out T>? & kotlin.collections.Map<*, out T>")!>x<!>.equals(null)
@@ -2731,7 +2731,7 @@ fun <T> case_40(x: InterfaceWithTwoTypeParameters<in T, in T>?) {
}
// TESTCASE NUMBER: 41
fun <T> case_41(x: Map<out T, out T>?) {
fun <T> case_41(x: Map<out T, <!REDUNDANT_PROJECTION!>out<!> T>?) {
if (x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Map<out T, out T>? & kotlin.collections.Map<out T, out T>")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Map<out T, out T>? & kotlin.collections.Map<out T, out T>")!>x<!>.equals(null)
@@ -2803,7 +2803,7 @@ fun <T> case_41(x: Map<out T, out T>?) {
}
// TESTCASE NUMBER: 42
fun <T> case_42(x: Map<T, out T>?) {
fun <T> case_42(x: Map<T, <!REDUNDANT_PROJECTION!>out<!> T>?) {
if (x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Map<T, out T>? & kotlin.collections.Map<T, out T>")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Map<T, out T>? & kotlin.collections.Map<T, out T>")!>x<!>.equals(null)
@@ -3,7 +3,7 @@
// SKIP_TXT
// TESTCASE NUMBER: 1
fun case_1(x: Out<out Int?>?) {
fun case_1(x: Out<<!REDUNDANT_PROJECTION!>out<!> Int?>?) {
if (x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("Out<out kotlin.Int?>? & Out<out kotlin.Int?>")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Out<out kotlin.Int?>? & Out<out kotlin.Int?>")!>x<!>.equals(null)
@@ -23,7 +23,7 @@ fun case_1(x: Out<out Int?>?) {
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-28598
*/
fun case_2(a: Out<out Out<out Out<out Out<out Out<out Out<out Int?>?>?>?>?>?>?) {
fun case_2(a: Out<<!REDUNDANT_PROJECTION!>out<!> Out<out Out<out Out<out Out<out Out<out Int?>?>?>?>?>?>?) {
if (a != null) {
val b = <!DEBUG_INFO_EXPRESSION_TYPE("Out<out Out<out Out<out Out<out Out<out Out<out kotlin.Int?>?>?>?>?>?>? & Out<out Out<out Out<out Out<out Out<out Out<out kotlin.Int?>?>?>?>?>?>")!>a<!>.get()
if (b != null) {
@@ -75,7 +75,7 @@ fun case_3(a: Inv<out Int>?) {
}
// TESTCASE NUMBER: 4
fun case_4(a: Out<out Int>?, b: Out<out Int> = if (a != null) <!DEBUG_INFO_EXPRESSION_TYPE("Out<out kotlin.Int>? & Out<out kotlin.Int>")!>a<!> else Out<Int>()) {
fun case_4(a: Out<<!REDUNDANT_PROJECTION!>out<!> Int>?, b: Out<<!REDUNDANT_PROJECTION!>out<!> Int> = if (a != null) <!DEBUG_INFO_EXPRESSION_TYPE("Out<out kotlin.Int>? & Out<out kotlin.Int>")!>a<!> else Out<Int>()) {
<!DEBUG_INFO_EXPRESSION_TYPE("Out<out kotlin.Int>?")!>a<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Out<out kotlin.Int>")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Out<out kotlin.Int>")!>b<!>.equals(null)
@@ -90,7 +90,7 @@ fun case_4(a: Out<out Int>?, b: Out<out Int> = if (a != null) <!DEBUG_INFO_EXPRE
}
// TESTCASE NUMBER: 5
val x: Out<out Int>? = null
val x: Out<<!REDUNDANT_PROJECTION!>out<!> Int>? = null
fun case_5() {
if (x != null) {
@@ -127,7 +127,7 @@ fun case_6() {
// TESTCASE NUMBER: 7
fun case_7() {
var x: Out<out Int>? = null
var x: Out<<!REDUNDANT_PROJECTION!>out<!> Int>? = null
if (x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("Out<out kotlin.Int>? & Out<out kotlin.Int>")!>x<!>
@@ -469,7 +469,7 @@ fun case_20(a: Inv<out Any?>) {
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-28785
*/
fun case_21(a: Out<out Int?>) {
fun case_21(a: Out<<!REDUNDANT_PROJECTION!>out<!> Int?>) {
if (a.x != null) {
a.x
a.x.equals(null)
@@ -489,7 +489,7 @@ fun case_21(a: Out<out Int?>) {
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-28785
*/
fun case_22(a: Out<out Nothing?>) {
fun case_22(a: Out<<!REDUNDANT_PROJECTION!>out<!> Nothing?>) {
if (a.x != null) {
a.x
a.x.hashCode()
@@ -501,7 +501,7 @@ fun case_22(a: Out<out Nothing?>) {
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-28785
*/
fun case_23(a: Out<out Any?>) {
fun case_23(a: Out<<!REDUNDANT_PROJECTION!>out<!> Any?>) {
if (a.x != null) {
a.x
a.x.equals(null)