[FIR] Generate type arguments for variable assignments

This commit is contained in:
Mikhail Glukhikh
2020-04-03 15:38:47 +03:00
parent d7460d47de
commit 75283c74ac
3 changed files with 6 additions and 3 deletions
@@ -219,7 +219,7 @@ internal class CallAndReferenceGenerator(
is IrVariableSymbol -> IrSetVariableImpl(startOffset, endOffset, type, symbol, assignedValue, origin)
else -> generateErrorCallExpression(startOffset, endOffset, calleeReference)
}
}.applyReceivers(variableAssignment)
}.applyTypeArguments(variableAssignment).applyReceivers(variableAssignment)
}
fun convertToIrConstructorCall(annotationCall: FirAnnotationCall): IrExpression {
@@ -135,6 +135,7 @@ class FirCallCompletionResultsWriterTransformer(
): CompositeTransformResult<FirStatement> {
val calleeReference = variableAssignment.calleeReference as? FirNamedReferenceWithCandidate
?: return variableAssignment.compose()
val typeArguments = computeTypeArguments(variableAssignment, calleeReference.candidate)
return variableAssignment.transformCalleeReference(
StoreCalleeReference,
buildResolvedNamedReference {
@@ -142,7 +143,9 @@ class FirCallCompletionResultsWriterTransformer(
name = calleeReference.name
resolvedSymbol = calleeReference.candidateSymbol
},
).compose()
).apply {
replaceTypeArguments(typeArguments)
}.compose()
}
override fun transformFunctionCall(functionCall: FirFunctionCall, data: ExpectedArgumentType?): CompositeTransformResult<FirStatement> {