FIR resolve: do not launch overload conflict resolve for erroneous

This commit is contained in:
Mikhail Glukhikh
2019-05-23 16:28:25 +03:00
parent 4d145db9f7
commit cb76ea5d14
@@ -554,8 +554,12 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn
val consumer = createFunctionConsumer(session, name, info, inferenceComponents)
val result = resolver.runTowerResolver(consumer, implicitReceiverStack.asReversed())
val bestCandidates = result.bestCandidates()
val reducedCandidates = ConeOverloadConflictResolver(TypeSpecificityComparator.NONE, inferenceComponents)
.chooseMaximallySpecificCandidates(bestCandidates, discriminateGenerics = false)
val reducedCandidates = if (result.currentApplicability < CandidateApplicability.SYNTHETIC_RESOLVED) {
bestCandidates.toSet()
} else {
ConeOverloadConflictResolver(TypeSpecificityComparator.NONE, inferenceComponents)
.chooseMaximallySpecificCandidates(bestCandidates, discriminateGenerics = false)
}
// fun isInvoke()