[FE 1.0] Store builder inference session in the corresponding lambda argument

This commit is contained in:
Victor Petukhov
2021-12-24 12:55:56 +03:00
committed by teamcity
parent 74f294d849
commit 4dc9b291e5
3 changed files with 13 additions and 0 deletions
@@ -213,6 +213,7 @@ class KotlinResolutionCallbacksImpl(
null
}
lambdaArgument.builderInferenceSession = builderInferenceSession
val temporaryTrace = if (builderInferenceSession != null)
TemporaryBindingTrace.create(trace, "Trace to resolve builder inference lambda: $lambdaArgument")
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.StatementFilter
import org.jetbrains.kotlin.resolve.TypeResolver
import org.jetbrains.kotlin.resolve.calls.ArgumentTypeResolver
import org.jetbrains.kotlin.resolve.calls.components.InferenceSession
import org.jetbrains.kotlin.resolve.calls.util.getCall
import org.jetbrains.kotlin.resolve.calls.context.BasicCallResolutionContext
import org.jetbrains.kotlin.resolve.calls.model.*
@@ -115,6 +116,12 @@ class LambdaKotlinCallArgumentImpl(
assert(!field)
field = value
}
override var builderInferenceSession: InferenceSession? = null
set(value) {
assert(field == null)
field = value
}
}
class FunctionExpressionImpl(