Extract common logic into AbstractTypeConstructor

Mostly it's about detecting loops in supertypes

Test data changes:
- Loops are being disconnected in Java classes too
- functions.kt: loops disconnection mechanism runs supertypes calculation,
so when we start check T it forces F' supertypes calculation, that ends
with CYCLIC_GENERIC_UPPER_BOUND reported on F

 #KT-11287 In Progress
This commit is contained in:
Denis Zharkov
2016-03-07 16:11:41 +03:00
parent ea9f1b5649
commit b8b48c5f98
21 changed files with 308 additions and 366 deletions
@@ -1,8 +1,6 @@
package
public/*package*/ interface A : C {
public abstract override /*1*/ /*fake_override*/ fun bar(): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun baz(): kotlin.Unit
public/*package*/ interface A {
public abstract fun foo(): kotlin.Unit
}
@@ -10,7 +8,6 @@ public interface B {
public abstract fun bar(): kotlin.Unit
}
public/*package*/ interface C : B {
public abstract override /*1*/ /*fake_override*/ fun bar(): kotlin.Unit
public/*package*/ interface C {
public abstract fun baz(): kotlin.Unit
}