FIR: Adjust testData for spec tests: enum "values" priority
^KT-38350 Submitted
This commit is contained in:
Vendored
+162
@@ -0,0 +1,162 @@
|
|||||||
|
// !LANGUAGE: +NewInference
|
||||||
|
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||||
|
// SKIP_TXT
|
||||||
|
|
||||||
|
/*
|
||||||
|
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||||
|
*
|
||||||
|
* SPEC VERSION: 0.1-278
|
||||||
|
* PLACE: overload-resolution, receivers -> paragraph 5 -> sentence 3
|
||||||
|
* RELEVANT PLACES: overload-resolution, receivers -> paragraph 5 -> sentence 1
|
||||||
|
* overload-resolution, building-the-overload-candidate-set-ocs, call-without-an-explicit-receiver -> paragraph 5 -> sentence 2
|
||||||
|
* NUMBER: 1
|
||||||
|
* DESCRIPTION: The phantom static implicit this receiver has higher priority than the current class companion object receiver
|
||||||
|
*/
|
||||||
|
|
||||||
|
// FILE: TestCase.kt
|
||||||
|
// TESTCASE NUMBER: 1
|
||||||
|
package testsCase1
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
operator fun invoke() = print("invoke")
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class Super_2 {
|
||||||
|
V1, V2;
|
||||||
|
|
||||||
|
companion object values : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase1.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class NestedWithCompanion {
|
||||||
|
V1;
|
||||||
|
|
||||||
|
companion object values : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase1.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class Nested {
|
||||||
|
V1;
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase1.Super_2.Nested.values; typeCall: function")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: TestCase.kt
|
||||||
|
// TESTCASE NUMBER: 2
|
||||||
|
package testsCase2
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
operator fun invoke(value: String) = print("invoke $value")
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class Super_2 {
|
||||||
|
V1, V2;
|
||||||
|
|
||||||
|
companion object valueOf : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase2.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class NestedWithCompanion {
|
||||||
|
V1;
|
||||||
|
|
||||||
|
companion object valueOf : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase2.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class Nested {
|
||||||
|
V1;
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase2.Super_2.Nested.valueOf; typeCall: function")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// FILE: TestCase.kt
|
||||||
|
// TESTCASE NUMBER: 3
|
||||||
|
package testsCase3
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
operator fun invoke() = print("invoke")
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class Super_2 {
|
||||||
|
V1, V2;
|
||||||
|
|
||||||
|
object values : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase3.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class NestedWithCompanion {
|
||||||
|
V1;
|
||||||
|
|
||||||
|
object values : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase3.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class Nested {
|
||||||
|
V1;
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase3.Super_2.Nested.values; typeCall: function")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: TestCase.kt
|
||||||
|
// TESTCASE NUMBER: 4
|
||||||
|
package testsCase4
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
operator fun invoke(value: String) = print("invoke $value")
|
||||||
|
}
|
||||||
|
open class B {
|
||||||
|
operator fun invoke(value: String) = print("invoke $value")
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class Super_2 {
|
||||||
|
V1, V2;
|
||||||
|
|
||||||
|
object valueOf : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase4.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class NestedWithCompanion {
|
||||||
|
V1;
|
||||||
|
|
||||||
|
object valueOf : B() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase4.B.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class Nested {
|
||||||
|
V1;
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase4.Super_2.Nested.valueOf; typeCall: function")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+200
@@ -0,0 +1,200 @@
|
|||||||
|
// !LANGUAGE: +NewInference
|
||||||
|
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||||
|
// SKIP_TXT
|
||||||
|
|
||||||
|
/*
|
||||||
|
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||||
|
*
|
||||||
|
* SPEC VERSION: 0.1-278
|
||||||
|
* PLACE: overload-resolution, receivers -> paragraph 5 -> sentence 5
|
||||||
|
* RELEVANT PLACES: overload-resolution, receivers -> paragraph 5 -> sentence 4
|
||||||
|
* overload-resolution, building-the-overload-candidate-set-ocs, call-without-an-explicit-receiver -> paragraph 5 -> sentence 2
|
||||||
|
* NUMBER: 1
|
||||||
|
* DESCRIPTION: Superclass companion object receivers are prioritized according to the inheritance order
|
||||||
|
*/
|
||||||
|
|
||||||
|
// FILE: TestCase.kt
|
||||||
|
// TESTCASE NUMBER: 1
|
||||||
|
package testsCase1
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
operator fun invoke() = print("invoke")
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Super_0 {
|
||||||
|
companion object values : A()
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase1.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Super_1 : Super_0 {
|
||||||
|
companion object values : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase1.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Super_2 : Super_1() {
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase1.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Nested : Super_1() {
|
||||||
|
companion object values : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase1.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
inner class Inner : Super_1() {
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase1.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// FILE: TestCase.kt
|
||||||
|
// TESTCASE NUMBER: 2
|
||||||
|
package testsCase2
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
operator fun invoke(value: String) = print("invoke $value")
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Super_0 {
|
||||||
|
companion object valueOf : A()
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase2.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Super_1 : Super_0 {
|
||||||
|
companion object valueOf : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase2.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Super_2 : Super_1() {
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase2.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Nested : Super_1() {
|
||||||
|
companion object valueOf : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase2.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
inner class Inner : Super_1() {
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase2.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: TestCase.kt
|
||||||
|
// TESTCASE NUMBER: 3
|
||||||
|
package testsCase3
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
operator fun invoke() = print("invoke")
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Super_0 {
|
||||||
|
object values : A()
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase3.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Super_1 : Super_0 {
|
||||||
|
object values : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase3.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Super_2 : Super_1() {
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase3.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Nested : Super_1() {
|
||||||
|
object values : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase3.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
inner class Inner : Super_1() {
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase3.A.invoke; typeCall: variable&invoke")!>values()<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// FILE: TestCase.kt
|
||||||
|
// TESTCASE NUMBER: 4
|
||||||
|
package testsCase4
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
operator fun invoke(value: String) = print("invoke $value")
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Super_0 {
|
||||||
|
object valueOf : A()
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase4.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Super_1 : Super_0 {
|
||||||
|
object valueOf : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase4.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Super_2 : Super_1() {
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase4.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Nested : Super_1() {
|
||||||
|
object valueOf : A() {}
|
||||||
|
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase4.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
inner class Inner : Super_1() {
|
||||||
|
private fun case() {
|
||||||
|
<!DEBUG_INFO_CALL("fqName: testsCase4.A.invoke; typeCall: variable&invoke")!>valueOf("")<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user