FIR: set super type reference properly

This commit is contained in:
Mikhail Glukhikh
2019-06-17 14:24:41 +03:00
parent 65d14ff097
commit c8003518a5
4 changed files with 18 additions and 8 deletions
@@ -11,6 +11,8 @@ import org.jetbrains.kotlin.fir.visitors.FirVisitor
interface FirSuperReference : FirReference {
val superTypeRef: FirTypeRef
fun replaceSuperTypeRef(newSuperTypeRef: FirTypeRef)
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
visitor.visitSuperReference(this, data)
@@ -15,6 +15,10 @@ class FirExplicitSuperReference(
psi: PsiElement?,
override var superTypeRef: FirTypeRef
) : FirAbstractElement(session, psi), FirSuperReference {
override fun replaceSuperTypeRef(newSuperTypeRef: FirTypeRef) {
superTypeRef = newSuperTypeRef
}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement {
superTypeRef = superTypeRef.transformSingle(transformer, data)
return this