FIR: Do not leave cyclic upper bounds of type parameters

This commit is contained in:
Denis Zharkov
2020-07-30 15:37:23 +03:00
parent a5a93d00a7
commit 8b71f5e558
5 changed files with 44 additions and 9 deletions
@@ -38,5 +38,7 @@ abstract class FirTypeParameter : FirPureAbstractElement(), FirTypeParameterRef,
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract fun replaceBounds(newBounds: List<FirTypeRef>)
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirTypeParameter
}
@@ -60,4 +60,9 @@ internal class FirTypeParameterImpl(
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) {
resolvePhase = newResolvePhase
}
override fun replaceBounds(newBounds: List<FirTypeRef>) {
bounds.clear()
bounds.addAll(newBounds)
}
}