FIR cleanup: runResolverForDelegatingConstructor

This commit is contained in:
Mikhail Glukhikh
2021-01-14 18:26:32 +03:00
parent 6cee4e968e
commit 9f06c1a500
2 changed files with 2 additions and 4 deletions
@@ -289,7 +289,7 @@ class FirCallResolver(
fun resolveDelegatingConstructorCall( fun resolveDelegatingConstructorCall(
delegatedConstructorCall: FirDelegatedConstructorCall, delegatedConstructorCall: FirDelegatedConstructorCall,
constructedType: ConeClassLikeType constructedType: ConeClassLikeType
): FirDelegatedConstructorCall? { ): FirDelegatedConstructorCall {
val name = Name.special("<init>") val name = Name.special("<init>")
val symbol = constructedType.lookupTag.toSymbol(components.session) val symbol = constructedType.lookupTag.toSymbol(components.session)
val typeArguments = val typeArguments =
@@ -809,9 +809,7 @@ open class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransform
else -> return delegatedConstructorCall.compose() else -> return delegatedConstructorCall.compose()
} }
val resolvedCall = val resolvedCall = callResolver.resolveDelegatingConstructorCall(delegatedConstructorCall, constructorType)
callResolver.resolveDelegatingConstructorCall(delegatedConstructorCall, constructorType)
?: return delegatedConstructorCall.compose()
if (reference is FirThisReference && reference.boundSymbol == null) { if (reference is FirThisReference && reference.boundSymbol == null) {
resolvedCall.dispatchReceiver.typeRef.coneTypeSafe<ConeClassLikeType>()?.lookupTag?.toSymbol(session)?.let { resolvedCall.dispatchReceiver.typeRef.coneTypeSafe<ConeClassLikeType>()?.lookupTag?.toSymbol(session)?.let {
reference.replaceBoundSymbol(it) reference.replaceBoundSymbol(it)