[FIR] Resolve this reference in delegating constructors
This commit is contained in:
+7
-1
@@ -459,7 +459,13 @@ class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransformer) :
|
|||||||
val symbol: FirClassSymbol<*> = when (val reference = delegatedConstructorCall.calleeReference) {
|
val symbol: FirClassSymbol<*> = when (val reference = delegatedConstructorCall.calleeReference) {
|
||||||
is FirThisReference -> {
|
is FirThisReference -> {
|
||||||
typeArguments = emptyList()
|
typeArguments = emptyList()
|
||||||
reference.boundSymbol as? FirClassSymbol<*> ?: return delegatedConstructorCall.compose()
|
if (reference.boundSymbol == null) {
|
||||||
|
implicitReceiverStack.lastDispatchReceiver()?.boundSymbol?.also {
|
||||||
|
reference.replaceBoundSymbol(it)
|
||||||
|
} ?: return delegatedConstructorCall.compose()
|
||||||
|
} else {
|
||||||
|
reference.boundSymbol!! as FirClassSymbol<*>
|
||||||
|
}
|
||||||
}
|
}
|
||||||
is FirSuperReference -> {
|
is FirSuperReference -> {
|
||||||
// TODO: unresolved supertype
|
// TODO: unresolved supertype
|
||||||
|
|||||||
Reference in New Issue
Block a user