FIR (rename): candidateOwner -> boundSymbol

This commit is contained in:
Mikhail Glukhikh
2019-08-27 16:17:41 +03:00
parent 8633a33108
commit 67a7243361
5 changed files with 7 additions and 7 deletions
@@ -105,9 +105,9 @@ fun FirReference.toSymbol(declarationStorage: Fir2IrDeclarationStorage): IrSymbo
return when (this) {
is FirResolvedCallableReference -> coneSymbol.toSymbol(declarationStorage)
is FirThisReference -> {
when (val ownerSymbol = candidateOwner?.toSymbol(declarationStorage)) {
is IrClassSymbol -> ownerSymbol.owner.thisReceiver?.symbol
is IrFunctionSymbol -> ownerSymbol.owner.extensionReceiverParameter?.symbol
when (val boundSymbol = boundSymbol?.toSymbol(declarationStorage)) {
is IrClassSymbol -> boundSymbol.owner.thisReceiver?.symbol
is IrFunctionSymbol -> boundSymbol.owner.extensionReceiverParameter?.symbol
else -> null
}
}
@@ -203,7 +203,7 @@ open class FirBodyResolveTransformer(
val implicitReceivers =
if (labelName == null) implicitReceiverPerLabel.values() else implicitReceiverPerLabel[Name.identifier(labelName)]
val implicitReceiver = implicitReceivers.lastOrNull()
callee.candidateOwner = implicitReceiver?.boundSymbol
callee.boundSymbol = implicitReceiver?.boundSymbol
qualifiedAccessExpression.resultType = FirResolvedTypeRefImpl(
null, implicitReceiver?.type ?: ConeKotlinErrorType("Unresolved this@$labelName"),
emptyList()
@@ -808,7 +808,7 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
override fun visitThisReference(thisReference: FirThisReference) {
print("this")
val labelName = thisReference.labelName
val symbol = thisReference.candidateOwner
val symbol = thisReference.boundSymbol
when {
symbol != null -> print("@R|${symbol.render()}|")
labelName != null -> print("@$labelName#")
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.visitors.FirVisitor
interface FirThisReference : FirReference {
val labelName: String?
val candidateOwner: AbstractFirBasedSymbol<*>? get() = null
val boundSymbol: AbstractFirBasedSymbol<*>? get() = null
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
visitor.visitThisReference(this, data)
@@ -11,5 +11,5 @@ import org.jetbrains.kotlin.fir.FirThisReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
class FirExplicitThisReference(psi: PsiElement?, override val labelName: String?) : FirAbstractElement(psi), FirThisReference {
override var candidateOwner: AbstractFirBasedSymbol<*>? = null
override var boundSymbol: AbstractFirBasedSymbol<*>? = null
}