[FIR2IR] Add dispatch & extension receivers to callable references

This commit is contained in:
Juan Chen
2020-03-29 22:49:41 -07:00
committed by Mikhail Glukhikh
parent 5414b9dfb3
commit d8539fdde9
23 changed files with 22 additions and 17 deletions
@@ -344,7 +344,17 @@ class Fir2IrVisitor(
startOffset, endOffset, type, symbol,
typeArgumentsCount = 0,
reflectionTarget = symbol
)
).apply {
val firReceiver = callableReferenceAccess.explicitReceiver
if (firReceiver != null && firReceiver !is FirResolvedQualifier) {
val irReceiver = convertToIrExpression(firReceiver)
if (symbol.owner.dispatchReceiverParameter != null) {
this.dispatchReceiver = irReceiver
} else if (symbol.owner.extensionReceiverParameter != null) {
this.extensionReceiver = irReceiver
}
}
}
}
else -> {
IrErrorCallExpressionImpl(