FIR checker: introduce DECLARATION_SIGNATURE_OR_DEFAULT positioning strategy
and fix CONFLICTING_OVERLOADS to use it
This commit is contained in:
committed by
Mikhail Glukhikh
parent
2e4daee1d4
commit
f1d8a6e5d1
+2
-2
@@ -1,6 +1,6 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
data class A(val x: Int, val y: String) {
|
||||
<!CONFLICTING_OVERLOADS!>fun copy(x: Int, y: String) = x<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun copy(x: Int, y: String) = A(x, y)<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun copy(x: Int, y: String)<!> = x
|
||||
<!CONFLICTING_OVERLOADS!>fun copy(x: Int, y: String)<!> = A(x, y)
|
||||
}
|
||||
+2
-2
@@ -7,8 +7,8 @@ class MyClass {
|
||||
|
||||
class MyClass2 {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun MyClass2.component1() = 1.2<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun MyClass2.component1() = 1.3<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun MyClass2.component1()<!> = 1.2
|
||||
<!CONFLICTING_OVERLOADS!>fun MyClass2.component1()<!> = 1.3
|
||||
|
||||
fun test(mc1: MyClass, mc2: MyClass2) {
|
||||
val (<!INAPPLICABLE_CANDIDATE!>a<!>, <!UNRESOLVED_REFERENCE!>b<!>) = mc1
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
class A {
|
||||
<!CONFLICTING_OVERLOADS!>operator fun component1() = 1<!>
|
||||
<!CONFLICTING_OVERLOADS!>operator fun component1() = 1<!>
|
||||
<!CONFLICTING_OVERLOADS!>operator fun component1()<!> = 1
|
||||
<!CONFLICTING_OVERLOADS!>operator fun component1()<!> = 1
|
||||
operator fun component2() = 1
|
||||
}
|
||||
|
||||
|
||||
Vendored
+4
-4
@@ -7,11 +7,11 @@ expect fun foo()
|
||||
// MODULE: m2-jvm(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>actual fun foo() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>actual fun foo() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>actual fun foo()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>actual fun foo()<!> {}
|
||||
|
||||
// MODULE: m3-js(m1-common)
|
||||
// FILE: js.kt
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>actual fun foo() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>actual fun foo() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>actual fun foo()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>actual fun foo()<!> {}
|
||||
|
||||
Vendored
+1
-1
@@ -4,6 +4,6 @@
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>expect fun foo()<!>
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>expect fun foo() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>expect fun foo()<!> {}
|
||||
|
||||
expect fun bar() {}
|
||||
|
||||
Vendored
+3
-3
@@ -1,6 +1,6 @@
|
||||
class A {
|
||||
<!CONFLICTING_OVERLOADS!>fun a(a: Int): Int = 0<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun a(a: Int): Int<!> = 0
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun a(a: Int) {
|
||||
}<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun a(a: Int)<!> {
|
||||
}
|
||||
}
|
||||
|
||||
compiler/testData/diagnostics/tests/overload/ConflictingOverloadsFunsDifferentReturnInPackage.fir.kt
Vendored
+4
-4
@@ -1,7 +1,7 @@
|
||||
package qwertyuiop
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun c(s: String) {
|
||||
}<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun c(s: String)<!> {
|
||||
}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun c(s: String) {
|
||||
}<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun c(s: String)<!> {
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -1,5 +1,5 @@
|
||||
package extensionFunctions
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Int.qwe(a: Float) = 1<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun Int.qwe(a: Float)<!> = 1
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Int.qwe(a: Float) = 2<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun Int.qwe(a: Float)<!> = 2
|
||||
|
||||
Vendored
-7
@@ -1,7 +0,0 @@
|
||||
class A() {
|
||||
<!CONFLICTING_OVERLOADS!>fun b() {
|
||||
}<!>
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun b() {
|
||||
}<!>
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
class A() {
|
||||
<!CONFLICTING_OVERLOADS!>fun b()<!> {
|
||||
}
|
||||
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
import java.io.Serializable
|
||||
|
||||
interface Test1 {
|
||||
<!CONFLICTING_OVERLOADS!>fun <T> foo(t: T) where T : Cloneable, T : Serializable<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun <T> foo(t: T) where T : Serializable, T : Cloneable<!>
|
||||
}
|
||||
|
||||
|
||||
interface I1
|
||||
interface I2 : I1
|
||||
|
||||
interface Test2 {
|
||||
<!CONFLICTING_OVERLOADS!>fun <T> foo(t: T) where T : I1, T : I2<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun <T> foo(t: T) where T : I2, T : I1<!>
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
import java.io.Serializable
|
||||
|
||||
interface Test1 {
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
interface Some {
|
||||
fun test()
|
||||
}
|
||||
|
||||
class SomeImpl : Some {
|
||||
<!CONFLICTING_OVERLOADS!>override fun test() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>override fun test() {}<!>
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
interface Some {
|
||||
fun test()
|
||||
}
|
||||
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// KT-9733 No error shown for 2 "main" functions in the same file
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun main(args: Array<String>) {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun main(args: Array<String>) {}<!>
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// KT-9733 No error shown for 2 "main" functions in the same file
|
||||
|
||||
|
||||
+6
-6
@@ -14,16 +14,16 @@ private val invalidProp0 = 1
|
||||
fun useInvalidFun0() = invalidFun0()
|
||||
fun useInvalidProp0() = invalidProp0
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>private fun invalidFun1() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>private fun invalidFun1() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>private fun invalidFun1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>private fun invalidFun1()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>private fun invalidFun2() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>public fun invalidFun2() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>private fun invalidFun2()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>public fun invalidFun2()<!> {}
|
||||
|
||||
public fun invalidFun3() {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>private fun invalidFun4() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>public fun invalidFun4() {}<!>
|
||||
<!CONFLICTING_OVERLOADS!>private fun invalidFun4()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>public fun invalidFun4()<!> {}
|
||||
|
||||
public fun validFun2(a: A) = a
|
||||
public fun validFun2(b: B) = b
|
||||
|
||||
+14
-14
@@ -7,14 +7,14 @@
|
||||
<!REDECLARATION!>val b : Int = 1<!>
|
||||
<!REDECLARATION!>val b : Int = 1<!>
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun foo() {}<!> // and here too
|
||||
<!CONFLICTING_OVERLOADS!>fun foo() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun foo() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun foo() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun foo()<!> {} // and here too
|
||||
<!CONFLICTING_OVERLOADS!>fun foo()<!> {} // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun foo()<!> {} // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun foo()<!> {} // and here
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun bar() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun bar() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun bar() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun bar()<!> {} // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun bar()<!> {} // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun bar()<!> {} // and here
|
||||
|
||||
class A {
|
||||
<!REDECLARATION!>val a : Int = 1<!>
|
||||
@@ -26,12 +26,12 @@ class A {
|
||||
<!REDECLARATION!>val b : Int = 1<!>
|
||||
<!REDECLARATION!>val b : Int = 1<!>
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun foo() {}<!> // and here too
|
||||
<!CONFLICTING_OVERLOADS!>fun foo() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun foo() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun foo() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun foo()<!> {} // and here too
|
||||
<!CONFLICTING_OVERLOADS!>fun foo()<!> {} // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun foo()<!> {} // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun foo()<!> {} // and here
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun bar() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun bar() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun bar() {}<!> // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun bar()<!> {} // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun bar()<!> {} // and here
|
||||
<!CONFLICTING_OVERLOADS!>fun bar()<!> {} // and here
|
||||
}
|
||||
|
||||
+27
-27
@@ -3,32 +3,32 @@ package c
|
||||
|
||||
fun z(view: () -> Unit) {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x() = z { z { z { z { z { z { z { z { } } } } } } } }<!>
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
<!CONFLICTING_OVERLOADS!>fun x()<!> = z { z { z { z { z { z { z { z { } } } } } } } }
|
||||
|
||||
class x() {}
|
||||
Reference in New Issue
Block a user