[FIR] Add diagnostic CONFLICTING_OVERLOADS & REDECLARATION

This commit is contained in:
Nick
2020-08-05 09:35:10 +03:00
parent 36984009e9
commit 4669e019d1
72 changed files with 681 additions and 247 deletions
@@ -1,15 +1,15 @@
// FILE: main.kt
interface A {
suspend fun foo()
fun foo()
<!CONFLICTING_OVERLOADS!>suspend fun foo()<!>
<!CONFLICTING_OVERLOADS!>fun foo()<!>
}
interface B : A {
suspend override fun foo() {
<!CONFLICTING_OVERLOADS!>suspend override fun foo() {
}
}<!>
override fun foo() {
<!CONFLICTING_OVERLOADS!>override fun foo() {
}
}<!>
}
@@ -1,13 +1,13 @@
//!DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
// !WITH_NEW_INFERENCE
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
<!CONFLICTING_OVERLOADS!>@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
@kotlin.jvm.JvmName("containsAny")
<!HIDDEN!>@kotlin.internal.LowPriorityInOverloadResolution<!>
public fun <T> Iterable<T>.contains1(element: T): Int = null!!
public fun <T> Iterable<T>.contains1(element: T): Int = null!!<!>
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public fun <T> Iterable<T>.contains1(element: @kotlin.internal.NoInfer T): Boolean = null!!
<!CONFLICTING_OVERLOADS!>@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public fun <T> Iterable<T>.contains1(element: @kotlin.internal.NoInfer T): Boolean = null!!<!>
fun test() {
@@ -2,13 +2,13 @@
// !WITH_NEW_INFERENCE
// !LANGUAGE: -NonStrictOnlyInputTypesChecks
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
<!CONFLICTING_OVERLOADS!>@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
@kotlin.jvm.JvmName("containsAny")
<!HIDDEN!>@kotlin.internal.LowPriorityInOverloadResolution<!>
public fun <T> Iterable<T>.contains1(element: T): Int = null!!
public fun <T> Iterable<T>.contains1(element: T): Int = null!!<!>
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public fun <<!HIDDEN!>@kotlin.internal.OnlyInputTypes<!> T> Iterable<T>.contains1(element: T): Boolean = null!!
<!CONFLICTING_OVERLOADS!>@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public fun <<!HIDDEN!>@kotlin.internal.OnlyInputTypes<!> T> Iterable<T>.contains1(element: T): Boolean = null!!<!>
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
@JvmName("getAny")