Do not consider error results successful in '::' LHS resolution

Fixes EA-81649
This commit is contained in:
Alexander Udalov
2016-04-18 14:39:35 +03:00
parent be62caf335
commit 9c99152126
4 changed files with 50 additions and 1 deletions
@@ -178,7 +178,9 @@ class DoubleColonExpressionResolver(
val traceAndCache = TemporaryTraceAndCache.create(c, "Resolve expression on LHS of callable reference", simpleNameExpression)
val resolutionResult = callExpressionResolver.resolveSimpleName(c.replaceTraceAndCache(traceAndCache), simpleNameExpression)
val resultingCalls = resolutionResult.resultingCalls.filter { call -> call.status.possibleTransformToSuccess() }
val resultingCalls = resolutionResult.resultingCalls.filter { call ->
call.status.possibleTransformToSuccess() && !ErrorUtils.isError(call.resultingDescriptor)
}
if (resultingCalls.isEmpty()) return
if (resultingCalls.singleOrNull()?.resultingDescriptor is FakeCallableDescriptorForObject) return