[FE] Report ambiguity in all possible cases
This commit is contained in:
committed by
TeamCityServer
parent
37495bcba0
commit
814777ba8c
@@ -1199,6 +1199,7 @@ public interface Errors {
|
||||
// Context receivers
|
||||
DiagnosticFactory1<KtElement, String> NO_CONTEXT_RECEIVER = DiagnosticFactory1.create(ERROR);
|
||||
DiagnosticFactory1<KtElement, String> MULTIPLE_ARGUMENTS_APPLICABLE_FOR_CONTEXT_RECEIVER = DiagnosticFactory1.create(ERROR);
|
||||
DiagnosticFactory0<KtElement> AMBIBIGUOS_CALL_WITH_IMPLICIT_CONTEXT_RECEIVER = DiagnosticFactory0.create(ERROR);
|
||||
|
||||
// Error sets
|
||||
ImmutableSet<? extends DiagnosticFactory<?>> UNRESOLVED_REFERENCE_DIAGNOSTICS = ImmutableSet.of(
|
||||
|
||||
+1
@@ -1090,6 +1090,7 @@ public class DefaultErrorMessages {
|
||||
|
||||
MAP.put(NO_CONTEXT_RECEIVER, "No required context receiver found: {0}", TO_STRING);
|
||||
MAP.put(MULTIPLE_ARGUMENTS_APPLICABLE_FOR_CONTEXT_RECEIVER, "Multiple arguments applicable for context receiver: {0}", TO_STRING);
|
||||
MAP.put(AMBIBIGUOS_CALL_WITH_IMPLICIT_CONTEXT_RECEIVER, "With implicit context receiver, call is ambiguous. Specify the receiver explicitly");
|
||||
|
||||
MAP.setImmutable();
|
||||
|
||||
|
||||
+4
@@ -111,6 +111,10 @@ class DiagnosticReporterByTrackingStrategy(
|
||||
)
|
||||
)
|
||||
}
|
||||
ContextReceiverAmbiguity::class.java -> {
|
||||
val callElement = psiKotlinCall.psiCall.callElement
|
||||
trace.report(AMBIBIGUOS_CALL_WITH_IMPLICIT_CONTEXT_RECEIVER.on(callElement))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user