[FIR] Resolve this reference in delegating constructors

This commit is contained in:
Dmitriy Novozhilov
2019-12-09 15:01:54 +03:00
parent 583e07b3e4
commit e560a67a89
@@ -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