[NI] Add missing diagnostic on callable references in fake calls
Unresolved reference diagnositc was not reported on callable references returned from if or when expression because of additional block wrapper. ^KT-30953 Fixed
This commit is contained in:
+3
-2
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.resolve.constants.evaluate.ConstantExpressionEvaluat
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.module
|
||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.cast
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
|
||||
class DiagnosticReporterByTrackingStrategy(
|
||||
@@ -132,8 +133,8 @@ class DiagnosticReporterByTrackingStrategy(
|
||||
trace.report(MIXING_NAMED_AND_POSITIONED_ARGUMENTS.on(callArgument.psiCallArgument.valueArgument.asElement()))
|
||||
|
||||
NoneCallableReferenceCandidates::class.java -> {
|
||||
val expression =
|
||||
(diagnostic as NoneCallableReferenceCandidates).argument.psiExpression.safeAs<KtCallableReferenceExpression>()
|
||||
val expression = diagnostic.cast<NoneCallableReferenceCandidates>()
|
||||
.argument.safeAs<CallableReferenceKotlinCallArgumentImpl>()?.ktCallableReferenceExpression
|
||||
reportIfNonNull(expression) {
|
||||
trace.report(UNRESOLVED_REFERENCE.on(it.callableReference, it.callableReference))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user