Fix prematurely analyzing a lambda while fixing a type variable for another argument
^KT-35168 Fixed
This commit is contained in:
+3
-3
@@ -145,7 +145,7 @@ class KotlinConstraintSystemCompleter(
|
||||
to.addIfNotNull(this.safeAs<PostponedResolvedAtom>()?.takeUnless { it.analyzed })
|
||||
|
||||
if (analyzed) {
|
||||
subResolvedAtoms.forEach { it.process(to) }
|
||||
subResolvedAtoms?.forEach { it.process(to) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@ class KotlinConstraintSystemCompleter(
|
||||
}
|
||||
|
||||
if (analyzed) {
|
||||
subResolvedAtoms.forEach { it.process(to) }
|
||||
subResolvedAtoms?.forEach { it.process(to) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,7 +257,7 @@ class KotlinConstraintSystemCompleter(
|
||||
return this
|
||||
}
|
||||
|
||||
subResolvedAtoms.forEach { subResolvedAtom ->
|
||||
subResolvedAtoms?.forEach { subResolvedAtom ->
|
||||
subResolvedAtom.check()?.let { result -> return@check result }
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ sealed class ResolvedAtom {
|
||||
var analyzed: Boolean = false
|
||||
private set
|
||||
|
||||
lateinit var subResolvedAtoms: List<ResolvedAtom>
|
||||
var subResolvedAtoms: List<ResolvedAtom>? = null
|
||||
private set
|
||||
|
||||
protected open fun setAnalyzedResults(subResolvedAtoms: List<ResolvedAtom>) {
|
||||
|
||||
Reference in New Issue
Block a user