[NI] Update type of complex subcall for last lambda expressions
This commit is contained in:
+12
@@ -77,6 +77,7 @@ class ResolvedAtomCompleter(
|
||||
is ResolvedCallableReferenceAtom -> completeCallableReference(resolvedAtom)
|
||||
is ResolvedLambdaAtom -> completeLambda(resolvedAtom)
|
||||
is ResolvedCallAtom -> completeResolvedCall(resolvedAtom, emptyList())
|
||||
is ResolvedSubCallArgument -> completeSubCallArgument(resolvedAtom)
|
||||
is PartialCallResolutionResult -> completeResolvedCall(resolvedAtom.resultCallAtom, resolvedAtom.diagnostics)
|
||||
}
|
||||
}
|
||||
@@ -90,6 +91,17 @@ class ResolvedAtomCompleter(
|
||||
complete(resolvedAtom)
|
||||
}
|
||||
|
||||
fun completeSubCallArgument(resolvedSubCallArgument: ResolvedSubCallArgument) {
|
||||
val contextWithoutExpectedType = topLevelCallContext.replaceExpectedType(TypeUtils.NO_EXPECTED_TYPE)
|
||||
kotlinToResolvedCallTransformer.updateRecordedType(
|
||||
resolvedSubCallArgument.atom.psiExpression ?: return,
|
||||
parameter = null,
|
||||
context = contextWithoutExpectedType,
|
||||
reportErrorForTypeMismatch = true,
|
||||
convertedArgumentType = null
|
||||
)
|
||||
}
|
||||
|
||||
fun completeResolvedCall(resolvedCallAtom: ResolvedCallAtom, diagnostics: Collection<KotlinCallDiagnostic>): ResolvedCall<*>? {
|
||||
clearPartiallyResolvedCall(resolvedCallAtom)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user