Revert "[FE 1.0] Build captured type's supertypes in an alternative way: use own projection type as a first supertype, then supertypes from the corresponding type parameter's upper bounds"

This reverts commit eb19d39cbf.
This commit is contained in:
Denis.Zharkov
2022-08-26 09:13:21 +02:00
committed by teamcity
parent 2a53273f4d
commit 42c41a1916
9 changed files with 14 additions and 83 deletions
@@ -1,13 +0,0 @@
// FIR_IDENTICAL
// FILE: Foo.java
public abstract class Foo<K extends Bar<? extends Foo<K>>> {
abstract String getTest();
}
// FILE: Bar.java
public abstract class Bar<T extends Foo<? extends Bar<T>>> {}
// FILE: main.kt
fun box(foo: Foo<*>) {
foo.test // unresolved in 1.7.0, OK before
}
@@ -1,18 +0,0 @@
package
public fun box(/*0*/ foo: Foo<*>): kotlin.Unit
public abstract class Bar</*0*/ T : Foo<out Bar<T!>!>!> {
public constructor Bar</*0*/ T : Foo<out Bar<T!>!>!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class Foo</*0*/ K : Bar<out Foo<K!>!>!> {
public constructor Foo</*0*/ K : Bar<out Foo<K!>!>!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public/*package*/ abstract fun getTest(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
+1 -1
View File
@@ -30,7 +30,7 @@ fun String.asFsdAddress(): String {
fun box(): String {
val state = Test().state
if (state is GoBuildingRunningState<*>) {
<!DEBUG_INFO_SMARTCAST!>state<!>.buildingWorkingDirectory.asFsdAddress()
state.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>buildingWorkingDirectory<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>asFsdAddress<!>()
}
return "OK"
}