diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.1.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.1.kt new file mode 100644 index 00000000000..6444ba8cf29 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.1.kt @@ -0,0 +1,95 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -UNREACHABLE_CODE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION -IMPLICIT_NOTHING_RETURN_TYPE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 3 -> sentence 1 + * overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 4 -> sentence 1 + * NUMBER: 1 + * DESCRIPTION: Implicit receiver: sets of non-extension member callables, local, explicitly imported, declared in the package scope and star-imported extension callables + */ + +// TESTCASE NUMBER: 1, 2, 3, 4, 5 + +// FILE: Marker.kt +package libPackage + +class Marker { + fun foo(y: Int) = TODO() + val foo: Marker = this + operator fun invoke(x: Int) = TODO() +} + +// FILE: Tests.kt +package tests +import libPackage.Marker + +// TESTCASE NUMBER: 1 + +class Case1() { + fun Marker.foo(y: Int) = TODO() + + fun test() { + Marker().foo(y=1) + Marker().foo(x=1) + } +} + +fun case1() { + Marker().foo(y=1) + Marker().foo(x=1) +} + +// TESTCASE NUMBER: 2 +class Case2() { + fun test() { + fun Marker.foo(x:Int) = TODO() + Marker().foo(y=1) + Marker().foo(x=1) + } +} + +fun Marker.foo(x:Int) = TODO() + +fun case2() { + Marker().foo(y=1) + Marker().foo(x=1) +} + +// TESTCASE NUMBER: 3 +fun case3() { + fun Marker.foo(y:Int) = TODO() + Marker().foo(y=1) + Marker().foo(x=1) +} + +/* + * TESTCASE NUMBER: 4 + * UNEXPECTED BEHAVIOUR + * ISSUES: KT-37391 + */ +fun case4(marker : Marker?) { + marker?.foo(y=1) + marker?.foo(x=1)> +} + + +/* + * TESTCASE NUMBER: 5 + * UNEXPECTED BEHAVIOUR + * ISSUES: KT-37391 + */ +fun case5(marker : Marker?) { + fun bar(){ + fun Marker.foo(y:Int) = TODO() + marker?.foo(y=1) + marker?.foo(x=1) + } + marker?.foo(y=1) + marker?.foo(x=1) +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.10.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.10.kt new file mode 100644 index 00000000000..d5ce6186aa8 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.10.kt @@ -0,0 +1,72 @@ +// !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-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 10 + * DESCRIPTION: Explicit receiver: Top-level non-extension functions: Callables star-imported into the current file; + */ + +// FILE: TestCase.kt +// TESTCASE NUMBER: 1 +package testsCase1 + +import libPackageCase1.* + +fun case1() { + listOf(elements = arrayOf(1)) +} +// FILE: Lib.kt +package libPackageCase1 + +fun listOf(vararg elements: T): List = TODO() + +// FILE: TestCase.kt +// TESTCASE NUMBER: 2 +package testsCase2 +import libPackageCase2.* + +fun case2() { + listOf(elements = arrayOf(1)) +} + + +class A { + operator fun invoke(): T = TODO() +} + +// FILE: Lib.kt +package libPackageCase2 +import testsCase2.* + +fun listOf(vararg elements: T): List = TODO() +val listOf: A + get() = A() + +// FILE: TestCase.kt +// TESTCASE NUMBER: 3 +package testsCase3 +import libPackageCase3.* + +fun case3() { + listOf(elements = arrayOf(1)) +} + + +class A { + operator fun invoke(vararg elements: T): List = TODO() +} + +// FILE: Lib.kt +package libPackageCase3 +import testsCase3.* + +private fun listOf(vararg elements: T): List = TODO() + +val listOf: A + get() = A() \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.11.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.11.kt new file mode 100644 index 00000000000..700b3d8f9e6 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.11.kt @@ -0,0 +1,52 @@ +// !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-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 11 + * DESCRIPTION: Explicit receiver: Top-level non-extension functions: Implicitly imported callables + */ + +// FILE: TestCase.kt +// TESTCASE NUMBER: 1 +package testsCase1 +import libPackageCase1.* //nothing to import + +fun case1() { + listOf(elements = *arrayOf(1)) +} +// FILE: Lib.kt +package libPackageCase1 + +private fun listOf(vararg elements1: T): List = TODO() + +// FILE: TestCase.kt +// TESTCASE NUMBER: 2 +package testscase2 + +import libPackagecase2.* //nothing to import + +class Case2 { + + fun case2() { + listOf(elements = *arrayOf(1)) + } +} + +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + +// FILE: Lib.kt +package libPackagecase2 +import testscase2.* +private fun listOf(vararg elements1: T): List = TODO() + +private val Case2.listOf: A + get() = A() + diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.12.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.12.kt new file mode 100644 index 00000000000..6ee994c48f8 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.12.kt @@ -0,0 +1,163 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION -NOTHING_TO_INLINE -EXTENSION_SHADOWED_BY_MEMBER +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 12 + * DESCRIPTION: Explicit receiver: The overload candidate sets for each pair of implicit receivers: Local extension callables + */ + +// FILE: TestCase.kt +// TESTCASE NUMBER: 1 +package testsCase1 +import libPackageCase1.* +import libPackageCase1Explicit.listOf + +class Case1(){ + fun listOf(vararg elements1: T): List = TODO() + + fun case1() { + fun Case1.listOf(vararg elements1: T): List = TODO() + + listOf(elements1= arrayOf(1)) + } +} +// FILE: Lib.kt +package libPackageCase1 +import testsCase1.* + +public fun listOf(vararg elements1: T): List = TODO() +fun Case1.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase1Explicit +import testsCase1.* + +fun Case1.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase1 +fun Case1.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + + + + +// FILE: TestCase.kt +// TESTCASE NUMBER: 2 +package testsCase2 +import libPackageCase2.* +import libPackageCase2Explicit.listOf + +class Case2(){ + fun listOf(vararg elements1: T): List = TODO() + + val listOf: A + get() = A() + + fun case1() { + fun Case2.listOf(vararg elements1: T): List = TODO() + + listOf(elements1= arrayOf(1)) + } +} +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} +// FILE: Lib.kt +package libPackageCase2 +import testsCase2.* + +val Case2.listOf: A + get() = A() +public fun listOf(vararg elements1: T): List = TODO() +fun Case2.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase2Explicit +import testsCase2.* + +val Case2.listOf: A + get() = A() +fun Case2.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase2 +val Case2.listOf: A + get() = A() + +fun Case2.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + + + + +// FILE: TestCase.kt +// TESTCASE NUMBER: 3 +package testsCase3 +import libPackageCase3.* +import libPackageCase3Explicit.listOf + +class Case3(){ + fun Case3.listOf(vararg elements1: T): List = TODO() + + val listOf: A + get() = A() + + fun case1() { + fun Case3.listOf(vararg elements1: T): List = TODO() + + listOf(elements1= arrayOf(1)) + } +} +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} +// FILE: Lib.kt +// TESTCASE NUMBER: 3 + +package libPackageCase3 +import testsCase3.* + +val Case3.listOf: A + get() = A() +public fun listOf(vararg elements1: T): List = TODO() +fun Case3.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +// TESTCASE NUMBER: 3 + +package libPackageCase3Explicit +import testsCase3.* + +val Case3.listOf: A + get() = A() +fun Case3.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +// TESTCASE NUMBER: 3 + +package testsCase3 +val Case3.listOf: A + get() = A() + +fun Case3.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + + + + diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.13.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.13.kt new file mode 100644 index 00000000000..974615553cb --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.13.kt @@ -0,0 +1,185 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION -NOTHING_TO_INLINE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 13 + * DESCRIPTION: Explicit receiver: The overload candidate sets for each pair of implicit receivers: Local extension callables + */ + +// FILE: TestCase.kt +// TESTCASE NUMBER: 1 +package testsCase1 +import libPackageCase1.* +import libPackageCase1Explicit.listOf + +class Case1(){ + + fun case1_0() { + fun Case1.listOf(vararg elements1: T): List = TODO() + + listOf(elements1= arrayOf(1)) + + fun case1_1() { + fun Case1.listOf(vararg elements1: T): List = TODO() + listOf(elements1= arrayOf(1)) + } + } + +} + +// FILE: Lib.kt +package libPackageCase1 +import testsCase1.* + +public fun listOf(vararg elements1: T): List = TODO() +fun Case1.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase1Explicit +import testsCase1.* + +fun Case1.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase1 +fun Case1.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + + +// FILE: TestCase.kt + +/* + * TESTCASE NUMBER: 2 + * UNEXPECTED BEHAVIOUR + * ISSUES: KT-37179 + */ +package testsCase2 +import libPackageCase2.* +import libPackageCase2Explicit.listOf + +class Case2(){ + + fun case1_0() { + fun Case2.listOf(vararg elements1: T): List = TODO() + listOf(elements1= arrayOf(1)) + + fun case1_1() { + fun Case2.listOf(vararg elements1: T): List = TODO() + listOf(elements1= arrayOf(1)) + } + } + + val Case2.listOf: A + get() = A() + + fun Case2.listOf(vararg elements1: T): List = TODO() + + fun case2_0(){ + listOf(elements1= arrayOf(1)) + } + +} +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + +// FILE: Lib.kt +// TESTCASE NUMBER: 2 +package libPackageCase2 +import testsCase2.* +val Case2.listOf: A + get() = A() +public fun listOf(vararg elements1: T): List = TODO() +fun Case2.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +// TESTCASE NUMBER: 2 + +package libPackageCase2Explicit +import testsCase2.* + +fun Case2.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +// TESTCASE NUMBER: 2 + +package testsCase2 +fun Case2.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + + +// FILE: TestCase.kt + +/* + * TESTCASE NUMBER: 3 + * UNEXPECTED BEHAVIOUR + * ISSUES: KT-37179 + */ +package testsCase3 +import libPackageCase3.* +import libPackageCase3Explicit.listOf + +class Case3(){ + + fun case1_0() { + //fun Case3.listOf(vararg elements1: T): List = TODO() + listOf(elements1= arrayOf(1)) + + fun case1_1() { + // fun Case3.listOf(vararg elements1: T): List = TODO() + listOf(elements1= arrayOf(1)) + } + } + + val Case3.listOf: A + get() = A() + + //fun Case3.listOf(vararg elements1: T): List = TODO() + + fun case2_0(){ + listOf(elements1= arrayOf(1)) + } + +} +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + +// FILE: Lib.kt +// TESTCASE NUMBER: 3 +package libPackageCase3 +import testsCase3.* +val Case3.listOf: A + get() = A() +public fun listOf(vararg elements1: T): List = TODO() +fun Case3.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +// TESTCASE NUMBER: 3 + +package libPackageCase3Explicit +import testsCase3.* + +fun Case3.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +// TESTCASE NUMBER: 3 +package testsCase3 +fun Case3.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.14.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.14.kt new file mode 100644 index 00000000000..ead42ddb21c --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.14.kt @@ -0,0 +1,136 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION -NOTHING_TO_INLINE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 14 + * DESCRIPTION: Explicit receiver: The overload candidate sets for each pair of implicit receivers: Explicitly imported extension callables + */ + +// FILE: TestCase.kt +// TESTCASE NUMBER: 1 + +package testsCase1 +import libPackageCase1.* +import libPackageCase1Explicit.listOf + +class Case1(){ + + fun case1() { + listOf(elements1= arrayOf(1)) + } +} + +// FILE: Lib.kt +package libPackageCase1 +import testsCase1.* + +public fun listOf(vararg elements1: T): List = TODO() +fun Case1.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase1Explicit +import testsCase1.* + +fun Case1.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase1 +fun Case1.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + + +// FILE: TestCase.kt +// TESTCASE NUMBER: 2 + +package testsCase2 +import libPackageCase2.* +import libPackageCase2Explicit.listOf + +class Case2(){ + + fun case1() { + listOf(elements1= arrayOf(1)) + } +} + +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + +// FILE: Lib.kt +package libPackageCase2 +import testsCase2.* + +public fun listOf(vararg elements1: T): List = TODO() +fun Case2.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase2Explicit +import testsCase2.* + +val Case2.listOf: A + get() = A() + +fun Case2.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase2 +fun Case2.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + + + +// FILE: TestCase.kt +// TESTCASE NUMBER: 3 + +package testsCase3 +import libPackageCase3.* +import libPackageCase3Explicit.listOf + +class Case3(){ + + fun case1() { + listOf(elements1= arrayOf(1)) + } +} + +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + +// FILE: Lib.kt +package libPackageCase3 +import testsCase3.* + +public fun listOf(vararg elements1: T): List = TODO() +fun Case3.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase3Explicit +import testsCase3.* + +val Case3.listOf: A + get() = A() + +private fun Case3.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase3 +fun Case3.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.15.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.15.kt new file mode 100644 index 00000000000..31fdfd0676b --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.15.kt @@ -0,0 +1,125 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION -NOTHING_TO_INLINE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 15 + * DESCRIPTION: Explicit receiver: The overload candidate sets for each pair of implicit receivers: declared in the package scope extension callables + */ + +// FILE: TestCase.kt +// TESTCASE NUMBER: 1 +package testsCase1 +import libPackageCase1.* +import libPackageCase1Explicit.listOf + +class Case1(){ + + fun case1() { + listOf(elements1= arrayOf(1)) + } +} + +// FILE: Lib.kt +package libPackageCase1 +import testsCase1.* + +public fun listOf(vararg elements1: T): List = TODO() +fun Case1.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase1Explicit + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase1 +fun Case1.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + + + +// FILE: TestCase.kt +// TESTCASE NUMBER: 2 +package testsCase2 +import libPackageCase2.* +import libPackageCase2Explicit.listOf + +class Case2(){ + + fun case1() { + listOf(elements1= arrayOf(1)) + } +} +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + +// FILE: Lib.kt +package libPackageCase2 +import testsCase2.* + +val Case2.listOf: A + get() = A() + +fun listOf(vararg elements1: T): List = TODO() +fun Case2.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase2Explicit + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase2 +fun Case2.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() +val Case2.listOf: A + get() = A() + +// FILE: TestCase.kt +// TESTCASE NUMBER: 3 +package testsCase3 +import libPackageCase3.* +import libPackageCase3Explicit.listOf + +class Case3(){ + + fun case1() { + listOf(elements1= arrayOf(1)) + } +} +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + +// FILE: Lib.kt +package libPackageCase3 +import testsCase3.* + +fun listOf(vararg elements1: T): List = TODO() +fun Case3.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase3Explicit + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase3 + +val Case3.listOf: A + get() = A() + +private fun Case3.listOf(vararg elements1: T): List = TODO() + +public fun listOf(vararg elements1: T): List = TODO() + + diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.16.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.16.kt new file mode 100644 index 00000000000..a0e01524823 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.16.kt @@ -0,0 +1,120 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION -NOTHING_TO_INLINE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 16 + * DESCRIPTION: Explicit receiver: The overload candidate sets for each pair of implicit receivers: Implicitly imported extension callables + */ + +// FILE: TestCase.kt +// TESTCASE NUMBER: 1 +package testsCase1 +import libPackageCase1.* +import libPackageCase1Explicit.listOf + +class Case1(){ + + fun case() { + listOf(elements1= arrayOf(1)) + } +} + +// FILE: Lib.kt +package libPackageCase1 +import testsCase1.* + +public fun listOf(vararg elements1: T): List = TODO() +fun Case1.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase1Explicit + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase1 + +public fun listOf(vararg elements1: T): List = TODO() + + +// FILE: TestCase.kt +// TESTCASE NUMBER: 2 +package testsCase2 +import libPackageCase2.* +import libPackageCase2Explicit.listOf + +class Case2(){ + + fun case() { + listOf(elements1= arrayOf(1)) + } +} +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + + +// FILE: Lib.kt +package libPackageCase2 +import testsCase2.* + +val Case2.listOf: A + get() = A() + +public fun listOf(vararg elements1: T): List = TODO() +fun Case2.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase2Explicit + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase2 + +public fun listOf(vararg elements1: T): List = TODO() + + +// FILE: TestCase.kt +// TESTCASE NUMBER: 3 +package testsCase3 +import libPackageCase3.* +import libPackageCase3Explicit.listOf + +class Case3(){ + + fun case() { + listOf(elements1= arrayOf(1)) + } +} +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + + +// FILE: Lib.kt +package libPackageCase3 +import testsCase3.* + +val Case3.listOf: A + get() = A() + +fun listOf(vararg elements1: T): List = TODO() +private fun Case3.listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase3Explicit + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase3 + +public fun listOf(vararg elements1: T): List = TODO() + diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.2.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.2.kt new file mode 100644 index 00000000000..8404793576a --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.2.kt @@ -0,0 +1,69 @@ +// !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-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 2 + * DESCRIPTION: Implicit receiver: sets of local, explicitly imported, declared in the package scope and star-imported extension callables + */ + +// FILE: Extensions.kt +package libPackage + +public fun String.padEnd(length: Int, padChar: Char = ' '): String = TODO() + +// FILE: TestCase1.kt + +package sentence3 + +import libPackage.* +import libPackage.padEnd + +private fun String.padEnd(length: Int, padChar: Char = ' '): String = TODO() + +// TESTCASE NUMBER: 1 +class Case1() { + fun String.padEnd(length: Int, padChar: Char = ' '): String = TODO() + fun case1(s: String) { + s.padEnd(length = 3) + } +} + +// FILE: TestCase2.kt +package sentence3 +import libPackage.* + +//import libPackage.orEmpty + +private fun String.padEnd(length: Int, padChar: Char = ' '): String = TODO() + +// TESTCASE NUMBER: 2 +class Case2() { + fun String.padEnd(length: Int, padChar: Char = ' '): String = TODO() + fun case2(s: String) { + s.padEnd(length = 3) + } +} + +// TESTCASE NUMBER: 3 +class Case3() { + public fun String.padEnd(length: Int, padChar: Char = ' '): String = TODO() + fun case3(s: String) { + s.padEnd(length = 3) + fun innerFirst(s: String?) { + fun String.padEnd(length: Int, padChar: Char = ' '): String = TODO() + s?.padEnd(length = 3) + } + + fun innerSecond() { + fun String.padEnd(length: Int, padChar: Char = ' '): String = TODO() + s.padEnd(length = 3) + } + s.padEnd(length = 3) + } +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.3.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.3.kt new file mode 100644 index 00000000000..7be71bcf2f6 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.3.kt @@ -0,0 +1,35 @@ +// !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-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 3 + * DESCRIPTION: Implicit receiver: sets of explicitly imported, declared in the package scope and star-imported extension callables + */ + +// FILE: Extensions.kt +package libPackageExplicit + +public fun String.padEnd(lengthParam: Int, padChar: Char = ' '): String = TODO() + +// FILE: Extensions.kt +package libPackage + +public fun String.padEnd(lengthParam: Int, padChar: Char = ' '): String = TODO() + +// FILE: TestCase1.kt +package tests + +import libPackage.* +import libPackageExplicit.padEnd + +// TESTCASE NUMBER: 1 +fun case1(s: String) { + s.padEnd(lengthParam = 5) +} + diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.4.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.4.kt new file mode 100644 index 00000000000..dad9da5de59 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.4.kt @@ -0,0 +1,31 @@ +// !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-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 4 + * DESCRIPTION: Implicit receiver: sets of declared in the package scope and star-imported extension callables + */ + +// FILE: Extensions.kt +package libPackage + +public fun String.padEnd(lengthParam: Int, padChar: Char = ' '): String = TODO() + +// FILE: TestCase2.kt +package tests + +import libPackage.* + +public fun String.padEnd(lengthParam: Int, padChar: Char = ' '): String = TODO() + +// TESTCASE NUMBER: 1 +fun case2(s: String) { + s.padEnd(lengthParam = 5) +} + diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.5.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.5.kt new file mode 100644 index 00000000000..364480a49c5 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.5.kt @@ -0,0 +1,28 @@ +// !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-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 5 + * DESCRIPTION: Implicit receiver: set of star-imported extension callables + */ + +// FILE: Extensions.kt +package libPackage + +public fun String.padEnd(lengthParam: Int, padChar: Char = ' '): String = TODO() + +// FILE: TestCase2.kt +package sentence3 + +import libPackage.* + +// TESTCASE NUMBER: 1 +fun case2(s: String) { + s.padEnd(lengthParam = 5) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.6.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.6.kt new file mode 100644 index 00000000000..4c27e9b02f1 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.6.kt @@ -0,0 +1,27 @@ +// !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-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 6 + * DESCRIPTION: Implicit receiver: set of implicitly-imported extension callables + */ + +// FILE: Extensions.kt +package libPackage + +public fun String.padEnd(lengthParam: Int, padChar: Char = ' '): String = TODO() + +// FILE: TestCase.kt +package testCase1 +import libPackage.* + +// TESTCASE NUMBER: 1 +fun case2(s: String) { + s.padEnd(length = 5) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.7.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.7.kt new file mode 100644 index 00000000000..3ff1fa856e5 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.7.kt @@ -0,0 +1,27 @@ +// !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-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 7 + * DESCRIPTION: Implicit receiver: set of implicitly-imported extension callables + */ + +// FILE: Extensions.kt +package libPackage + +private fun String.padEnd(length: Int, padChar: Char = ' '): String = TODO() + +// FILE: TestCase.kt +package testCase1 +import libPackage.* + +// TESTCASE NUMBER: 1 +fun case2(s: String) { + s.padEnd(length = 5) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.8.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.8.kt new file mode 100644 index 00000000000..279f8f22bb8 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.8.kt @@ -0,0 +1,104 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION -NOTHING_TO_INLINE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 8 + * DESCRIPTION: Explicit receiver: Top-level non-extension functions: Callables explicitly imported into the current file + */ + +// FILE: TestCase.kt +// TESTCASE NUMBER: 1 +package testsCase1 +import libPackageCase1.* +import libPackageCase1Explicit.listOf + +fun case1() { + listOf(elements1= arrayOf(1)) +} + +// FILE: Lib.kt +package libPackageCase1 + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase1Explicit + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase1 + +public fun listOf(vararg elements1: T): List = TODO() + + +// FILE: TestCase.kt +// TESTCASE NUMBER: 2 +package testsCase2 +import libPackageCase2.* +import libPackageCase2Explicit.listOf + +fun case2() { + listOf(elements1= arrayOf(1)) +} +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} +// FILE: Lib.kt +package libPackageCase2 + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase2Explicit +import testsCase2.* + +val listOf: A + get() = A() + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase2 + +public fun listOf(vararg elements1: T): List = TODO() + + + +// FILE: TestCase.kt +// TESTCASE NUMBER: 3 +package testsCase3 +import libPackageCase3.* +import libPackageCase3Explicit.listOf + +fun case3() { + listOf(elements1= arrayOf(1)) +} +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} +// FILE: Lib.kt +package libPackageCase3 + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: Lib.kt +package libPackageCase3Explicit +import testsCase3.* + +val listOf: A + get() = A() + +private fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase3 + +public fun listOf(vararg elements1: T): List = TODO() + diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.9.kt b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.9.kt new file mode 100644 index 00000000000..081fafa2634 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.9.kt @@ -0,0 +1,88 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION -NOTHING_TO_INLINE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-280 + * PLACE: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 1 -> sentence 2 + * RELEVANT PLACES: overload-resolution, building-the-overload-candidate-set-ocs, call-with-named-parameters -> paragraph 2 -> sentence 1 + * NUMBER: 9 + * DESCRIPTION: Explicit receiver: Top-level non-extension functions: Callables declared in the same package + */ + +// FILE: TestCase.kt +// TESTCASE NUMBER: 1 +package testsCase1 +import libPackageCase1.* + +fun case1() { + listOf(elements1= arrayOf(1)) +} + +// FILE: Lib.kt +package libPackageCase1 + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase1 + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: TestCase.kt +// TESTCASE NUMBER: 2 +package testsCase2 +import libPackageCase2.* + +fun case2() { + listOf(elements1= arrayOf(1)) +} + +// FILE: Lib.kt +package libPackageCase2 + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase2 +import testsCase2.* + +public val listOf: A + get() = A() + +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + +public fun listOf(vararg elements1: T): List = TODO() + + +// FILE: TestCase.kt +// TESTCASE NUMBER: 3 +package testsCase3 +import libPackageCase3.* + +fun case3() { + listOf(elements1= arrayOf(1)) +} + +// FILE: Lib.kt +package libPackageCase3 + +public fun listOf(vararg elements1: T): List = TODO() + +// FILE: LibtestsPack.kt +package testsCase3 +import testsCase3.* + +public val listOf: A + get() = A() + +class A { + operator fun invoke(vararg elements1: T): List = TODO() +} + +private fun listOf(vararg elements1: T): List = TODO() + diff --git a/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/testsMap.json b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/testsMap.json new file mode 100644 index 00000000000..7ca08045896 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/testsMap.json @@ -0,0 +1,228 @@ +{ + "1": { + "pos": { + "2": [ + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: Top-level non-extension functions: Callables star-imported into the current file;", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 5, + "description": "Implicit receiver: sets of non-extension member callables, local, explicitly imported, declared in the package scope and star-imported extension callables", + "unexpectedBehaviour": true + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: The overload candidate sets for each pair of implicit receivers: Explicitly imported extension callables", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 1, + "description": "Implicit receiver: set of star-imported extension callables", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: The overload candidate sets for each pair of implicit receivers: declared in the package scope extension callables", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 1, + "description": "Implicit receiver: sets of declared in the package scope and star-imported extension callables", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 2, + "description": "Explicit receiver: Top-level non-extension functions: Implicitly imported callables", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: Top-level non-extension functions: Callables declared in the same package", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: Top-level non-extension functions: Callables explicitly imported into the current file", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: The overload candidate sets for each pair of implicit receivers: Implicitly imported extension callables", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 1, + "description": "Implicit receiver: set of implicitly-imported extension callables", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: The overload candidate sets for each pair of implicit receivers: Local extension callables", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 1, + "description": "Implicit receiver: sets of explicitly imported, declared in the package scope and star-imported extension callables", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: The overload candidate sets for each pair of implicit receivers: Local extension callables", + "unexpectedBehaviour": true + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Implicit receiver: sets of local, explicitly imported, declared in the package scope and star-imported extension callables", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 1, + "description": "Implicit receiver: set of implicitly-imported extension callables", + "unexpectedBehaviour": false + } + ] + } + }, + "2": { + "pos": { + "1": [ + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: Top-level non-extension functions: Callables star-imported into the current file;", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.10.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: The overload candidate sets for each pair of implicit receivers: Explicitly imported extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.14.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 1, + "description": "Implicit receiver: set of star-imported extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.5.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: The overload candidate sets for each pair of implicit receivers: declared in the package scope extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.15.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 1, + "description": "Implicit receiver: sets of declared in the package scope and star-imported extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.4.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 2, + "description": "Explicit receiver: Top-level non-extension functions: Implicitly imported callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.11.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: Top-level non-extension functions: Callables declared in the same package", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.9.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: Top-level non-extension functions: Callables explicitly imported into the current file", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.8.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: The overload candidate sets for each pair of implicit receivers: Implicitly imported extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.16.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 1, + "description": "Implicit receiver: set of implicitly-imported extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.7.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: The overload candidate sets for each pair of implicit receivers: Local extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.12.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 1, + "description": "Implicit receiver: sets of explicitly imported, declared in the package scope and star-imported extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.3.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Explicit receiver: The overload candidate sets for each pair of implicit receivers: Local extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.13.kt", + "unexpectedBehaviour": true + }, + { + "specVersion": "0.1-280", + "casesNumber": 3, + "description": "Implicit receiver: sets of local, explicitly imported, declared in the package scope and star-imported extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.2.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-280", + "casesNumber": 1, + "description": "Implicit receiver: set of implicitly-imported extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.6.kt", + "unexpectedBehaviour": false + } + ] + } + }, + "3": { + "pos": { + "1": [ + { + "specVersion": "0.1-280", + "casesNumber": 5, + "description": "Implicit receiver: sets of non-extension member callables, local, explicitly imported, declared in the package scope and star-imported extension callables", + "path": "compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.1.kt", + "unexpectedBehaviour": true + } + ] + } + } +} \ No newline at end of file diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java index c40d4554483..692656ba7ba 100644 --- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java +++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java @@ -3504,6 +3504,125 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec { } } + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Call_with_named_parameters extends AbstractDiagnosticsTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInCall_with_named_parameters() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class P_1 extends AbstractDiagnosticsTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInP_1() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Pos extends AbstractDiagnosticsTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("2.1.kt") + public void test2_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.1.kt"); + } + + @TestMetadata("2.10.kt") + public void test2_10() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.10.kt"); + } + + @TestMetadata("2.11.kt") + public void test2_11() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.11.kt"); + } + + @TestMetadata("2.12.kt") + public void test2_12() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.12.kt"); + } + + @TestMetadata("2.13.kt") + public void test2_13() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.13.kt"); + } + + @TestMetadata("2.14.kt") + public void test2_14() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.14.kt"); + } + + @TestMetadata("2.15.kt") + public void test2_15() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.15.kt"); + } + + @TestMetadata("2.16.kt") + public void test2_16() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.16.kt"); + } + + @TestMetadata("2.2.kt") + public void test2_2() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.2.kt"); + } + + @TestMetadata("2.3.kt") + public void test2_3() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.3.kt"); + } + + @TestMetadata("2.4.kt") + public void test2_4() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.4.kt"); + } + + @TestMetadata("2.5.kt") + public void test2_5() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.5.kt"); + } + + @TestMetadata("2.6.kt") + public void test2_6() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.6.kt"); + } + + @TestMetadata("2.7.kt") + public void test2_7() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.7.kt"); + } + + @TestMetadata("2.8.kt") + public void test2_8() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.8.kt"); + } + + @TestMetadata("2.9.kt") + public void test2_9() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos/2.9.kt"); + } + + public void testAllFilesPresentInPos() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-with-named-parameters/p-1/pos"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + } + } + } + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/overload-resolution/building-the-overload-candidate-set-ocs/call-without-an-explicit-receiver") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)