FIR: rename AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY to match FE 1.0

This commit is contained in:
Mikhail Glukhikh
2021-04-02 11:51:36 +03:00
parent 71397a06fb
commit f0ff9ad5a7
168 changed files with 504 additions and 1197 deletions
@@ -17,10 +17,10 @@ val value_5 = <!ILLEGAL_UNDERSCORE!>1E-_2F<!>
val value_6 = <!ILLEGAL_UNDERSCORE!>3e+_0f<!>
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_UNDERSCORE!>5E_<!><!AMBIGUITY!>-<!>0
val value_7 = <!ILLEGAL_UNDERSCORE!>5E_<!><!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!>0
// TESTCASE NUMBER: 8
val value_8 = <!ILLEGAL_UNDERSCORE!>5e_<!><!AMBIGUITY!>-<!>0F
val value_8 = <!ILLEGAL_UNDERSCORE!>5e_<!><!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!>0F
// TESTCASE NUMBER: 9
val value_9 = <!ILLEGAL_UNDERSCORE!>5e_00000000<!>
@@ -29,7 +29,7 @@ val value_9 = <!ILLEGAL_UNDERSCORE!>5e_00000000<!>
val value_10 = <!ILLEGAL_UNDERSCORE!>0.0_0e_1_0f<!>
// TESTCASE NUMBER: 11
val value_11 = <!ILLEGAL_UNDERSCORE!>0.0_0E____<!><!AMBIGUITY!>-<!>0__0_0F
val value_11 = <!ILLEGAL_UNDERSCORE!>0.0_0E____<!><!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!>0__0_0F
// TESTCASE NUMBER: 12
val value_12 = <!ILLEGAL_UNDERSCORE!>.0_0E__0_0<!>
@@ -53,7 +53,7 @@ val value_17 = <!ILLEGAL_UNDERSCORE!>666_666.0__________________________________
val value_18 = <!ILLEGAL_UNDERSCORE!>8888888_8.000e_____0f<!>
// TESTCASE NUMBER: 19
val value_19 = <!ILLEGAL_UNDERSCORE!>9_______9______9_____9____9___9__9_9.0E__<!><!AMBIGUITY!>-<!>1
val value_19 = <!ILLEGAL_UNDERSCORE!>9_______9______9_____9____9___9__9_9.0E__<!><!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!>1
// TESTCASE NUMBER: 20
val value_20 = <!ILLEGAL_UNDERSCORE!>0_0_0_0_0_0_0_0_0_0.12345678e+__90F<!>
@@ -11,16 +11,16 @@ val value_3 = <!ILLEGAL_UNDERSCORE!>1_E-_2F<!>
val value_4 = <!ILLEGAL_UNDERSCORE!>3_e+_0f<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE!>5_E_<!><!AMBIGUITY!>-<!>0
val value_5 = <!ILLEGAL_UNDERSCORE!>5_E_<!><!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!>0
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_UNDERSCORE!>5_e_<!><!AMBIGUITY!>-<!>0F
val value_6 = <!ILLEGAL_UNDERSCORE!>5_e_<!><!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!>0F
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_UNDERSCORE!>5_e_00000000<!>
// TESTCASE NUMBER: 8
val value_8 = <!ILLEGAL_UNDERSCORE!>0.0_0___E____<!><!AMBIGUITY!>-<!>0__0_0F
val value_8 = <!ILLEGAL_UNDERSCORE!>0.0_0___E____<!><!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!>0__0_0F
// TESTCASE NUMBER: 9
val value_9 = <!ILLEGAL_UNDERSCORE!>0__0.0_____e___0f<!>
@@ -44,7 +44,7 @@ val value_14 = <!ILLEGAL_UNDERSCORE!>5_________555_________5.0____e____<!>-<!UNR
val value_15 = <!ILLEGAL_UNDERSCORE!>666_666.0__________________________________________________1_E+_2___________________________________________________________________0F<!>
// TESTCASE NUMBER: 16
val value_16 = <!ILLEGAL_UNDERSCORE!>9_______9______9_____9____9___9__9_9.0___E__<!><!AMBIGUITY!>-<!>1
val value_16 = <!ILLEGAL_UNDERSCORE!>9_______9______9_____9____9___9__9_9.0___E__<!><!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!>1
// TESTCASE NUMBER: 17
val value_17 = <!ILLEGAL_UNDERSCORE!>0_0_0_0_0_0_0_0_0_0.12345678___e+__90F<!>
@@ -65,7 +65,7 @@ val value_21 = <!ILLEGAL_UNDERSCORE!>6_54.76_5_e-_4<!>
val value_22 = <!ILLEGAL_UNDERSCORE!>7_6543.8____E____7654_3<!>
// TESTCASE NUMBER: 23
val value_23 = <!ILLEGAL_UNDERSCORE!>9_____________87654321.0__e__<!><!AMBIGUITY!>-<!>9_8765432_____________1F
val value_23 = <!ILLEGAL_UNDERSCORE!>9_____________87654321.0__e__<!><!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!>9_8765432_____________1F
// TESTCASE NUMBER: 24
val value_24 = <!ILLEGAL_UNDERSCORE!>000000000000000000000000000000000000000000000000000000000000000000000000000000000000000___0.000000000000000000000000_e_000000000000000000000000000000000000000000000000000000000000000_0F<!>
@@ -101,12 +101,12 @@ fun case_5() {
// TESTCASE NUMBER: 6
fun case_6() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Byte>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Short>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Int>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Byte>() }
<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Short>() }
<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Int>() }
<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
}
@@ -2,8 +2,8 @@
// TESTCASE NUMBER: 1
fun case_1() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!>)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!>)
<!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
@@ -17,9 +17,9 @@ fun case_2() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!>)
<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!>)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!>)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
}
@@ -28,7 +28,7 @@ fun case_1() {
<!INAPPLICABLE_CANDIDATE!>f1<!>(9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>f1<!>(-9223372036854775807)
f1(<!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f1(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f1(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
}
// TESTCASE NUMBER: 2
@@ -40,7 +40,7 @@ fun case_2() {
<!INAPPLICABLE_CANDIDATE!>f2<!>(9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>f2<!>(-9223372036854775807)
f2(<!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f2(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f2(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
}
// TESTCASE NUMBER: 3
@@ -48,11 +48,11 @@ fun case_3() {
<!INAPPLICABLE_CANDIDATE!>f3<!>(9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>f3<!>(-9223372036854775807)
f3(<!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f3(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f3(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
}
// TESTCASE NUMBER: 4
fun case_4() {
f3(<!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f3(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f3(<!OVERLOAD_RESOLUTION_AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
}
@@ -26,7 +26,7 @@ fun case1() {
val a: Boolean? = false
checkSubtype<Boolean?>(a)
val x4 = a && true
x4 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
x4 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 2
@@ -34,7 +34,7 @@ fun case2() {
val a: Any = false
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>a<!>
val x4 = a && true
x4 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
x4 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 3
@@ -46,7 +46,7 @@ fun case3() {
val x3 = a1 && a2
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
x3 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
x3 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 4
@@ -42,5 +42,5 @@ fun case1() {
val x3 = a1 && a2 && a3 && a4 && a5 as Boolean
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
x3 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>()}
x3 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>()}
}
@@ -26,7 +26,7 @@ fun case1() {
val a: Boolean? = false
checkSubtype<Boolean?>(a)
val x4 = a || true
x4 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
x4 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 2
@@ -34,7 +34,7 @@ fun case2() {
val a: Any = false
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>a<!>
val x4 = a || true
x4 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
x4 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 3
@@ -46,7 +46,7 @@ fun case3() {
val x3 = a1 || a2
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
x3 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
x3 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 4
@@ -42,5 +42,5 @@ fun case1() {
val x3 = a1 || a2 || a3 || a4 || a5 as Boolean
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
x3 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>()}
x3 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>()}
}
@@ -19,8 +19,8 @@ fun case_1(value_1: Int, value_2: EmptyClass, value_3: Int, value_4: Any): Strin
*/
fun case_2(value_1: Int, value_3: Nothing) {
when (value_1) {
<!AMBIGUITY!>in<!> value_3 -> {}
<!AMBIGUITY!>in<!> throw Exception() -> {}
<!AMBIGUITY!>in<!> return -> {}
<!OVERLOAD_RESOLUTION_AMBIGUITY!>in<!> value_3 -> {}
<!OVERLOAD_RESOLUTION_AMBIGUITY!>in<!> throw Exception() -> {}
<!OVERLOAD_RESOLUTION_AMBIGUITY!>in<!> return -> {}
}
}
@@ -40,6 +40,6 @@ import libPackageCase1ExplicitDuplicate.emptyArray
class Case1(){
fun case1() {
<!AMBIGUITY!>emptyArray<!><Int>()
<!OVERLOAD_RESOLUTION_AMBIGUITY!>emptyArray<!><Int>()
}
}
@@ -35,6 +35,6 @@ import libPackageCase1Explicit.emptyArray
class Case1(){
fun case1() {
<!AMBIGUITY!>emptyArray<!><Int>()
<!OVERLOAD_RESOLUTION_AMBIGUITY!>emptyArray<!><Int>()
}
}
@@ -13,7 +13,7 @@ import libCase1.*
import kotlin.text.*
fun case1() {
<!AMBIGUITY!>Regex<!>("")
<!OVERLOAD_RESOLUTION_AMBIGUITY!>Regex<!>("")
}
// FILE: Lib1.kt
@@ -33,7 +33,7 @@ import kotlin.text.*
fun case2() {
<!AMBIGUITY!>Regex<!>("")
<!OVERLOAD_RESOLUTION_AMBIGUITY!>Regex<!>("")
}
// FILE: Lib2.kt
@@ -80,7 +80,7 @@ import libCase5.a.*
import libCase5.b.*
fun case5() {
<!AMBIGUITY!>Regex<!>("")
<!OVERLOAD_RESOLUTION_AMBIGUITY!>Regex<!>("")
}
// FILE: Lib6.kt
@@ -101,7 +101,7 @@ import libCase6.a.*
import libCase6.b.*
fun case6() {
<!AMBIGUITY!>MyRegex<!>("")
<!OVERLOAD_RESOLUTION_AMBIGUITY!>MyRegex<!>("")
}
// FILE: Lib8.kt
@@ -1,293 +0,0 @@
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-401
* MAIN LINK: overload-resolution, building-the-overload-candidate-set-ocs, call-without-an-explicit-receiver -> paragraph 5 -> sentence 6
* NUMBER: 4
* DESCRIPTION:
*/
// FILE: TestCase1.kt
/*
* TESTCASE NUMBER: 1
*
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-39162
*/
package testPackCase1
import libCase1.a.*
import libCase1.b.*
fun case1() {
<!DEBUG_INFO_CALL("fqName: libCase1.a.Regex; typeCall: function")!>Regex("")<!>
}
// FILE: Lib1.kt
package libCase1.a
fun Regex(pattern: String) {}
object Regex {
operator fun invoke(s: String) {}
}
// FILE: Lib1_1.kt
package libCase1.b
enum class Regex{
;
companion object {
operator fun invoke(s: String) {}
}
}
// FILE: TestCase2.kt
/*
* TESTCASE NUMBER: 2
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-39162
*/
package testPackCase2
import libCase2.a.*
import libCase2.b.*
fun case2() {
<!DEBUG_INFO_CALL("fqName: libCase2.a.Regex; typeCall: function")!>Regex("")<!>
}
// FILE: Lib2.kt
package libCase2.a
fun Regex(pattern: String) {}
//object Regex {
// operator fun invoke(s: String) {}
//}
// FILE: Lib12.kt
package libCase2.b
enum class Regex{
;
companion object {
operator fun invoke(s: String) {}
}
}
// FILE: TestCase3.kt
/*
* TESTCASE NUMBER: 3
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-39162
*/
package testPackCase3
import libCase3.a.*
import libCase3.b.*
fun case3() {
<!DEBUG_INFO_CALL("fqName: libCase3.a.Regex; typeCall: function")!>Regex("")<!>
}
// FILE: Lib3.kt
package libCase3.a
fun Regex(pattern: String) {}
object Regex {
operator fun invoke(s: String) {}
}
// FILE: Lib1_3.kt
package libCase3.b
class Regex(val s: String)
// FILE: TestCase4.kt
/*
* TESTCASE NUMBER: 4
*/
package testPackCase4
import libCase4.a.*
import libCase4.b.*
fun case4() {
<!AMBIGUITY!>Regex<!>("")
}
// FILE: Lib4.kt
package libCase4.a
fun Regex(pattern: String) {}
//object Regex {
// operator fun invoke(s: String) {}
//}
// FILE: Lib14.kt
package libCase4.b
class Regex(val s: String)
// FILE: TestCase5.kt
/*
* TESTCASE NUMBER: 5
*/
package testPackCase5
import libCase5.a.*
import libCase5.b.*
fun case(){
<!AMBIGUITY!>A<!>()
}
// FILE: Lib5.kt
package libCase5.a
fun A() {} //(1)
//object A{
// operator fun invoke(){}
//}
// FILE: Lib6.kt
package libCase5.b
class A()
// FILE: TestCase6.kt
/*
* TESTCASE NUMBER: 6
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-39162
*/
package testPackCase6
import libCase6.a.*
import libCase6.b.*
fun case(){
<!DEBUG_INFO_CALL("fqName: libCase6.a.A; typeCall: function")!>A()<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>A()<!>
}
// FILE: Lib7.kt
package libCase6.a
fun A() : String = " " //(1)
object A{
//operator fun invoke(){}
}
// FILE: Lib8.kt
package libCase6.b
class A()
// FILE: TestCase7.kt
/*
* TESTCASE NUMBER: 7
*/
package testPackCase7
import libCase7.a.*
import libCase7.b.*
fun case7(){
<!AMBIGUITY!>A<!>()
}
object A{
//operator fun invoke(){}
}
// FILE: Lib9.kt
package libCase7.a
fun A() : String = " " //(1)
// FILE: Lib10.kt
package libCase7.b
class A()
// FILE: TestCase8.kt
/*
* TESTCASE NUMBER: 8
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-39162
*/
package testPackCase8
import libCase8.a.*
import libCase8.b.*
import libCase8.c.*
fun case8(){
<!DEBUG_INFO_CALL("fqName: libCase8.a.A; typeCall: function")!>A()<!>
A()
}
// FILE: Lib11.kt
package libCase8.a
fun A() : String = " " //(1)
// FILE: Lib1_2.kt
package libCase8.b
class A()
// FILE: Lib13.kt
package libCase8.c
object A{
//operator fun invoke(){}
}
// FILE: TestCase9.kt
/*
* TESTCASE NUMBER: 9
*/
package testPackCase
import libCase9.a.*
import libCase9.b.*
import libCase9.c.A
fun case9(){
<!AMBIGUITY!>A<!>()
}
// FILE: Lib1_4.kt
package libCase9.a
fun A() : String = " " //(1)
// FILE: Lib15.kt
package libCase9.b
class A()
// FILE: Lib16.kt
package libCase9.c
object A{
//operator fun invoke(){}
}
// FILE: TestCase10.kt
/*
* TESTCASE NUMBER: 10
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-39162
*/
package testPackCase
import libCase10.a.*
import libCase10.b.*
import libCase10.c.*
fun case10(){
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>A()<!>
}
// FILE: Liba.kt
package libCase10.a
fun A() : String = " " //(1)
// FILE: Libb.kt
package libCase10.b
class A()
// FILE: Libc.kt
package libCase10.c
interface A
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -26,9 +26,9 @@ import LibPackCase1.b.*
fun case1 (){
var b: B? = B()
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!AMBIGUITY!>+=<!> { C() }<!>
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!> { C() }<!>
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!AMBIGUITY!>+=<!> {1}<!>
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!> {1}<!>
}
class B {
@@ -63,9 +63,9 @@ import LibPackCase2.b.*
fun case2 (){
var b: B = B()
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!AMBIGUITY!>+=<!> { C() }<!>
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!> { C() }<!>
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!AMBIGUITY!>+=<!> {1}<!>
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!> {1}<!>
}
class B {
@@ -10,9 +10,9 @@ import LibPackCase1.a.*
import LibPackCase1.b.*
fun case1 (){
var b: B? = null
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!AMBIGUITY!>+=<!> { C() }<!>
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!> { C() }<!>
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!AMBIGUITY!>+=<!> {1}<!>
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!> {1}<!>
}
class B {
@@ -15,9 +15,9 @@ import LibPackCase1.b.*
fun case1 (){
var b: B? = B()
b <!AMBIGUITY!>+=<!> { C() }
b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!> { C() }
b <!AMBIGUITY!>+=<!> {1}
b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!> {1}
}
class B {
@@ -15,9 +15,9 @@ import LibPackCase1.b.plusAssign
fun case1 (){
var b: B? = B()
b <!AMBIGUITY!>+=<!> { C() }
b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!> { C() }
b <!AMBIGUITY!>+=<!> {1}
b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!> {1}
}
class B {
@@ -15,8 +15,8 @@ import LibPackCase1.b.plusAssign
fun case1 (){
var b: B = B()
b <!AMBIGUITY!>+=<!>{ C() }
b <!AMBIGUITY!>+=<!>{ 1 }
b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!>{ C() }
b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!>{ 1 }
}
class B
@@ -48,10 +48,10 @@ import LibPackCase2.b.plusAssign
fun case2 (){
var b: B = B()
b <!AMBIGUITY!>+=<!>{ C() }
b <!AMBIGUITY!>+=<!>{ 1 }
b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!>{ C() }
b <!OVERLOAD_RESOLUTION_AMBIGUITY!>+=<!>{ 1 }
b.<!AMBIGUITY!>plusAssign<!>{ C() }
b.<!OVERLOAD_RESOLUTION_AMBIGUITY!>plusAssign<!>{ C() }
}
class B
@@ -8,7 +8,7 @@ class Case1() {
fun foo(vararg x: Short): Unit = TODO()//(2)
fun testcase() {
<!AMBIGUITY!>foo<!>(1, 1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1, 1)
}
}
@@ -18,7 +18,7 @@ class Case2() {
fun foo(vararg x: Int?): Unit = TODO() // (1.2)
fun case(){
<!AMBIGUITY!>foo<!>(1, 1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1, 1)
}
}
// TESTCASE NUMBER: 3
@@ -27,7 +27,7 @@ class Case3() {
fun foo(vararg x: Int?): Unit = TODO() // (1.2)
fun case(){
<!AMBIGUITY!>foo<!>(1, 1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1, 1)
}
}
@@ -37,7 +37,7 @@ class Case4() {
fun foo(y: Int, x: Long): Unit = TODO() // (1.2)
fun case(){
<!AMBIGUITY!>foo<!>(1, 1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1, 1)
}
}
@@ -48,8 +48,8 @@ class Case5() {
fun foo(y: Int, x: Long, a : Any =""): Unit = TODO() // (1.2)
fun case(){
<!AMBIGUITY!>foo<!>(1, 1)
<!AMBIGUITY!>foo<!>(1, 1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1, 1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1, 1)
}
}
@@ -61,5 +61,5 @@ interface C
fun foo(x: B) {} //(1)
fun foo(y: C, z: String = "foo") {} //2
fun bar() {
<!AMBIGUITY!>foo<!>(A()) //OVERLOAD_RESOLUTION_AMBIGUITY
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(A()) //OVERLOAD_RESOLUTION_AMBIGUITY
}
@@ -11,5 +11,5 @@ interface C
fun foo(x: B) {} //(1)
fun foo(y: C, z: String = "foo") {} //2
fun bar() {
<!AMBIGUITY!>foo<!>(A()) //OVERLOAD_RESOLUTION_AMBIGUITY
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(A()) //OVERLOAD_RESOLUTION_AMBIGUITY
}
@@ -13,7 +13,7 @@ import testPackCase1.I1.Companion.foo
class Case2() : I2, I1{
fun test(){
<!AMBIGUITY!>foo<!>(1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1)
}
}
@@ -39,7 +39,7 @@ import testPackCase2.I1.Companion.foo
class Case2() : I2, I1{
fun test(){
<!AMBIGUITY!>foo<!>(1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1)
}
}
@@ -15,7 +15,7 @@ import testPackCase1.I4.Companion.foo
class Case1() : I2, I1, I3, I4 {
fun test() {
<!AMBIGUITY!>foo<!>(1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1)
}
}
@@ -15,7 +15,7 @@ import testPackCase1.I4.Companion.foo
class Case1() : I2, I1, I3, I4 {
fun test() {
<!AMBIGUITY!>foo<!>(1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1)
}
}
@@ -15,7 +15,7 @@ import testPackCase1.I4.Companion.foo
class Case1() : I2, I1, I3, I4 {
fun test() {
<!AMBIGUITY!>foo<!>(1)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1)
}
}
@@ -15,9 +15,9 @@ interface I2
operator fun I2.invoke(): String = TODO()
fun case1(a: A) {
a.<!AMBIGUITY!>invoke<!>()
<!AMBIGUITY!>a<!>()
<!AMBIGUITY!>A()<!>()
a.<!OVERLOAD_RESOLUTION_AMBIGUITY!>invoke<!>()
<!OVERLOAD_RESOLUTION_AMBIGUITY!>a<!>()
<!OVERLOAD_RESOLUTION_AMBIGUITY!>A()<!>()
}
// FILE: TestCase2.kt
@@ -33,10 +33,10 @@ interface Interface2
operator fun Interface2.invoke(): String = TODO()
fun case1(a: I) {
a.<!AMBIGUITY!>invoke<!>()
<!AMBIGUITY!>a<!>()
a.<!OVERLOAD_RESOLUTION_AMBIGUITY!>invoke<!>()
<!OVERLOAD_RESOLUTION_AMBIGUITY!>a<!>()
val x = <!AMBIGUITY!>object : I {}<!> ()
val x = <!OVERLOAD_RESOLUTION_AMBIGUITY!>object : I {}<!> ()
}
// FILE: TestCase3.kt
@@ -53,8 +53,8 @@ interface Interface2
operator fun Interface2.invoke(x :() -> Unit): String = TODO()
fun case1(a: I) {
a.<!AMBIGUITY!>invoke<!>{}
<!AMBIGUITY!>a<!>{}
a.<!OVERLOAD_RESOLUTION_AMBIGUITY!>invoke<!>{}
<!OVERLOAD_RESOLUTION_AMBIGUITY!>a<!>{}
val x = <!AMBIGUITY!>object : I {}<!> {}
val x = <!OVERLOAD_RESOLUTION_AMBIGUITY!>object : I {}<!> {}
}
@@ -15,9 +15,9 @@ interface I2
operator fun <R>I2.invoke(): String = TODO()
fun case1(a: A) {
a.<!AMBIGUITY!>invoke<!>()
<!AMBIGUITY!>a<!>()
<!AMBIGUITY!>A()<!>()
a.<!OVERLOAD_RESOLUTION_AMBIGUITY!>invoke<!>()
<!OVERLOAD_RESOLUTION_AMBIGUITY!>a<!>()
<!OVERLOAD_RESOLUTION_AMBIGUITY!>A()<!>()
}
// FILE: TestCase2.kt
@@ -33,10 +33,10 @@ interface Interface2
operator fun <R>Interface2.invoke(): String = TODO()
fun case1(a: I) {
a.<!AMBIGUITY!>invoke<!>()
<!AMBIGUITY!>a<!>()
a.<!OVERLOAD_RESOLUTION_AMBIGUITY!>invoke<!>()
<!OVERLOAD_RESOLUTION_AMBIGUITY!>a<!>()
val x = <!AMBIGUITY!>object : I {}<!> ()
val x = <!OVERLOAD_RESOLUTION_AMBIGUITY!>object : I {}<!> ()
}
// FILE: TestCase3.kt
@@ -53,8 +53,8 @@ interface Interface2
operator fun <T>Interface2.invoke(x :() -> Unit): String = TODO()
fun case1(a: I) {
a.<!AMBIGUITY!>invoke<!>{}
<!AMBIGUITY!>a<!>{}
a.<!OVERLOAD_RESOLUTION_AMBIGUITY!>invoke<!>{}
<!OVERLOAD_RESOLUTION_AMBIGUITY!>a<!>{}
val x = <!AMBIGUITY!>object : I {}<!> {}
val x = <!OVERLOAD_RESOLUTION_AMBIGUITY!>object : I {}<!> {}
}
@@ -9,5 +9,5 @@ interface C
fun foo(x: B) {} //(1)
fun foo(y: C, z: String = "foo") {} //2
fun case1() {
<!AMBIGUITY!>foo<!>(A()) //OVERLOAD_RESOLUTION_AMBIGUITY
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(A()) //OVERLOAD_RESOLUTION_AMBIGUITY
}
@@ -14,8 +14,8 @@ import LibPackCase1.a.boo
import LibPackCase1.b.boo
fun case1 (b: B?){
b.<!AMBIGUITY!>boo<!>({ C() })
b.<!AMBIGUITY!>boo<!>({1})
b.<!OVERLOAD_RESOLUTION_AMBIGUITY!>boo<!>({ C() })
b.<!OVERLOAD_RESOLUTION_AMBIGUITY!>boo<!>({1})
}
class B {
@@ -49,8 +49,8 @@ import LibPackCase2.a.*
import LibPackCase2.b.*
fun case2 (b: B?){
b.<!AMBIGUITY!>boo<!>({ C() })
b.<!AMBIGUITY!>boo<!>({1})
b.<!OVERLOAD_RESOLUTION_AMBIGUITY!>boo<!>({ C() })
b.<!OVERLOAD_RESOLUTION_AMBIGUITY!>boo<!>({1})
}
class B {
@@ -14,6 +14,6 @@ fun case1(x: Any) {
x.<!DEBUG_INFO_CALL("fqName: case1.foo; typeCall: extension function")!>foo()<!> // to (3)
x.foo()
if (x is B1 && x is A1) {
x.<!AMBIGUITY!>foo<!>()
x.<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>()
}
}
@@ -10,6 +10,6 @@ class Case1 {
fun <T : Any> List<Any>.foo(x: T) {}
fun <T : Number> case(x: List<T>, y: T) {
x.<!AMBIGUITY!>foo<!>(y)
x.<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(y)
}
}
@@ -54,8 +54,8 @@ class Case3() : I {
fun x() = "" as CharSequence
fun case() {
I.<!AMBIGUITY!>invoke<!>(::<!UNRESOLVED_REFERENCE!>x<!>)
<!AMBIGUITY!>I<!>(::<!UNRESOLVED_REFERENCE!>x<!>)
<!AMBIGUITY!>Case3<!>(::<!UNRESOLVED_REFERENCE!>x<!>)
I.<!OVERLOAD_RESOLUTION_AMBIGUITY!>invoke<!>(::<!UNRESOLVED_REFERENCE!>x<!>)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>I<!>(::<!UNRESOLVED_REFERENCE!>x<!>)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>Case3<!>(::<!UNRESOLVED_REFERENCE!>x<!>)
}
}
@@ -7,7 +7,7 @@
* NOTE: right-hand side of an assignment must be expression
*/
fun case1() {
val x = <!AMBIGUITY, UNRESOLVED_REFERENCE!>for (<!SYNTAX!><!>) { }<!>
val x = <!OVERLOAD_RESOLUTION_AMBIGUITY, UNRESOLVED_REFERENCE!>for (<!SYNTAX!><!>) { }<!>
val y = for (x in 1..2) { }
val a = <!EXPRESSION_REQUIRED!>while (<!SYNTAX!><!>) { }<!>
@@ -20,7 +20,7 @@ fun case1() {
* NOTE: right-hand side of an assignment must be expression
*/
fun case2() {
var x = <!AMBIGUITY, UNRESOLVED_REFERENCE!>for (<!SYNTAX!><!>) { }<!>
var x = <!OVERLOAD_RESOLUTION_AMBIGUITY, UNRESOLVED_REFERENCE!>for (<!SYNTAX!><!>) { }<!>
var y = for (x in 1..2) { }
var a = <!EXPRESSION_REQUIRED!>while (<!SYNTAX!><!>) { }<!>
@@ -40,7 +40,7 @@ fun case3() {
var b :Any?
var c :Any?
x = <!AMBIGUITY, UNRESOLVED_REFERENCE!>for (<!SYNTAX!><!>) { }<!>
x = <!OVERLOAD_RESOLUTION_AMBIGUITY, UNRESOLVED_REFERENCE!>for (<!SYNTAX!><!>) { }<!>
y = for (x in 1..2) { }
a = <!EXPRESSION_REQUIRED!>while (<!SYNTAX!><!>) { }<!>
@@ -14,7 +14,7 @@ fun case_2(x: Any = null) {
// TESTCASE NUMBER: 3
fun case_3(x: Nothing = null) {
<!AMBIGUITY!>println<!>(x)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(x)
}
// TESTCASE NUMBER: 4