[FIR] Implement REDUNDANT_PROJECTION diagnostics, rename FirConflictingProjectionChecker -> FirProjectionRelationChecker, fix tests
This commit is contained in:
committed by
teamcityserver
parent
03e577bf98
commit
f081a6b4fa
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user