FIR (rename): candidateOwner -> boundSymbol
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+1
-1
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user