[FIR] Implement RECURSIVE_TYPEALIAS_EXPANSION, CYCLIC_INHERITANCE_HIERARCHY diagnostics, fix stackoverlow exception in case if typealias points to type with type arguments

This commit is contained in:
Ivan Kochurkin
2021-05-26 12:34:19 +03:00
committed by teamcityserver
parent d1531f9cdd
commit c4c2fbb5a0
48 changed files with 213 additions and 249 deletions
@@ -5,7 +5,7 @@ FILE: fakeRecursiveSupertype.kt
}
}
public open class Your : R|His| {
public open class Your : <ERROR TYPE REF: Loop in supertype: /Your -> /His> {
public constructor(): R|Your| {
super<R|His|>()
}
@@ -1,7 +1,7 @@
import incorrect.directory.My
open class My : <!OTHER_ERROR!>My<!>()
open class My : <!CYCLIC_INHERITANCE_HIERARCHY!>My<!>()
open class Your : His()
open class Your : <!CYCLIC_INHERITANCE_HIERARCHY!>His<!>()
open class His : <!OTHER_ERROR!>Your<!>()
open class His : <!CYCLIC_INHERITANCE_HIERARCHY!>Your<!>()
@@ -2,4 +2,4 @@ import incorrect.directory.Your
typealias My = <!UNRESOLVED_REFERENCE!>incorrect.directory.My<!>
typealias Your = <!OTHER_ERROR!>Your<!>
typealias Your = <!RECURSIVE_TYPEALIAS_EXPANSION!>Your<!>