[FIR] Implement checker for value parameter default value type mismatch
#KT-58901 Fixed
This commit is contained in:
committed by
Space Team
parent
cfc824f9f2
commit
028921ade1
Vendored
+1
-1
@@ -65,4 +65,4 @@ fun case_10(x: Int?) {
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 11
|
||||
fun case_11(x: Int?, y: Int = x) = null
|
||||
fun case_11(x: Int?, y: Int = <!INITIALIZER_TYPE_MISMATCH!>x<!>) = null
|
||||
|
||||
Vendored
+6
-6
@@ -11,29 +11,29 @@
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(x: Int = null) {
|
||||
fun case_1(x: Int = <!NULL_FOR_NONNULL_TYPE!>null<!>) {
|
||||
println(x)
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
fun case_2(x: Any = null) {
|
||||
fun case_2(x: Any = <!NULL_FOR_NONNULL_TYPE!>null<!>) {
|
||||
println(x)
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun case_3(x: Nothing = null) {
|
||||
fun case_3(x: Nothing = <!NULL_FOR_NONNULL_TYPE!>null<!>) {
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(x)
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 4
|
||||
class Case4(x: Int = null)
|
||||
class Case4(x: Int = <!NULL_FOR_NONNULL_TYPE!>null<!>)
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
class Case5 constructor(x: Any = null)
|
||||
class Case5 constructor(x: Any = <!NULL_FOR_NONNULL_TYPE!>null<!>)
|
||||
|
||||
// TESTCASE NUMBER: 6
|
||||
class Case6 {
|
||||
fun foo(x: Nothing = null) {}
|
||||
fun foo(x: Nothing = <!NULL_FOR_NONNULL_TYPE!>null<!>) {}
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 7
|
||||
|
||||
Vendored
+5
-5
@@ -11,28 +11,28 @@
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun <T: Any> case_1(x: T = null) {
|
||||
fun <T: Any> case_1(x: T = <!NULL_FOR_NONNULL_TYPE!>null<!>) {
|
||||
println(x)
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
fun <T: K, K: Number> case_2(x: T = null) {
|
||||
fun <T: K, K: Number> case_2(x: T = <!NULL_FOR_NONNULL_TYPE!>null<!>) {
|
||||
println(x)
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun <K: Number> case_3() {
|
||||
class Case4<T: K> (x: T = null)
|
||||
class Case4<T: K> (x: T = <!NULL_FOR_NONNULL_TYPE!>null<!>)
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 4
|
||||
fun <T> case_4() {
|
||||
class Case4(x: T = null)
|
||||
class Case4(x: T = <!NULL_FOR_NONNULL_TYPE!>null<!>)
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
fun <T, K> case_5(x: T) where T: Number?, K: Number {
|
||||
if (x == null) {
|
||||
class Case5 constructor(y: K = x)
|
||||
class Case5 constructor(y: K = <!INITIALIZER_TYPE_MISMATCH!>x<!>)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user