[FIR] Improve the messages of the multiple defaults diagnostics

Mention the base functions where the default
values come from.
This commit is contained in:
Nikolay Lunyak
2023-09-14 14:36:15 +03:00
committed by Space Team
parent 4e1dfcd2a8
commit 8755cf75ac
10 changed files with 112 additions and 28 deletions
@@ -17,10 +17,10 @@ interface B {
fun foo(@An a: @An Int = @An 2)
}
<!MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES_WHEN_NO_EXPLICIT_OVERRIDE("@An() a: @R|An|() Int = ...")!>class AB1<!> : A, B
<!MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES_WHEN_NO_EXPLICIT_OVERRIDE("foo; @An() a: @R|An|() Int = ...; @An() fun foo(@An() a: @R|An|() Int = ...): Unit, defined in A @An() fun foo(@An() a: @R|An|() Int = ...): Unit, defined in B")!>class AB1<!> : A, B
@An
class AB2 : A, B {
@An
override fun foo(<!MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES("@An() a: @R|An|() Int")!>@An a: @An Int<!>) {}
override fun foo(<!MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES("foo; @An() a: @R|An|() Int; @An() fun foo(@An() a: @R|An|() Int = ...): Unit, defined in A @An() fun foo(@An() a: @R|An|() Int = ...): Unit, defined in B")!>@An a: @An Int<!>) {}
}