[LL FIR] rewrite LLFirSuperTypeTargetResolver
The previous implementation had issues with locks, publication and performance Also, this change fixed a problem with mixed cycle inheritance ^KT-56550 ^KTIJ-25430 Fixed ^KTIJ-23520 Fixed ^KT-57623 Fixed ^KTIJ-25372 Fixed ^KT-58357 Fixed
This commit is contained in:
committed by
Space Team
parent
09d17d88d7
commit
c2b09d3b1e
+24
@@ -0,0 +1,24 @@
|
||||
// LL_FIR_DIVERGENCE
|
||||
// The compiler doesn't guarantee exhaustiveness in reporting of inheritance cycles, so the compiler and LL FIR results are equally valid.
|
||||
// LL_FIR_DIVERGENCE
|
||||
// FILE: ExceptionTracker.kt
|
||||
|
||||
interface ExceptionTracker : <!CYCLIC_INHERITANCE_HIERARCHY!>LockBasedStorageManager.ExceptionHandlingStrategy<!> {
|
||||
}
|
||||
|
||||
// FILE: StorageManager.kt
|
||||
|
||||
interface StorageManager : <!CYCLIC_INHERITANCE_HIERARCHY!>ExceptionTracker<!> {
|
||||
fun foo()
|
||||
}
|
||||
|
||||
// FILE: LockBasedStorageManager.java
|
||||
|
||||
class LockBasedStorageManager extends StorageManager {
|
||||
interface ExceptionHandlingStrategy {
|
||||
void bar();
|
||||
}
|
||||
|
||||
@Override
|
||||
void foo() {}
|
||||
}
|
||||
Reference in New Issue
Block a user