FIR resolve: soften processBlock limitation during inference completion

This allows us to enter some lambdas unentered before
This commit is contained in:
Mikhail Glukhikh
2019-12-23 14:01:15 +03:00
parent fd73f5af20
commit 80d29cdad1
2 changed files with 2 additions and 2 deletions
@@ -217,7 +217,7 @@ class ConstraintSystemCompleter(val components: InferenceComponents) {
primitive.processAllContainingCallCandidates(
// TODO: remove this argument and relevant parameter
// Currently, it's used because otherwise problem happens with a lambda in a try-block (see tryWithLambdaInside test)
processBlocks = false
processBlocks = primitive !is FirTryExpression
) { candidate ->
candidate.postponedAtoms.forEach {
notAnalyzedArguments.addIfNotNull(it.safeAs<PostponedResolvedAtomMarker>()?.takeUnless { it.analyzed })
@@ -20,7 +20,7 @@ FILE: covariantArrayAsReceiver.kt
lval adjusted: R|kotlin/collections/List<UsageInfo>?| = when () {
(R|<local>/element| is R|KtParameter|) -> {
R|<local>/usages|.R|/filterNot|<R|UsageInfo|>(<L> = filterNot@fun <implicit>.<anonymous>(): <implicit> {
(it#.usage# is KtLightMethod)
(R|<local>/it|.R|/UsageInfo.usage| is R|KtLightMethod|)
}
)
}