[FIR] Fix TEST SPEC tests
Ensure the test data contents for both the frontends are identical. This is needed for proper analysis of K2-differences.
This commit is contained in:
committed by
Space Team
parent
e6633d3d92
commit
7541732752
+10
@@ -1,5 +1,15 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-100
|
||||
* MAIN LINK: expressions, when-expression, exhaustive-when-expressions -> paragraph 2 -> sentence 1
|
||||
* NUMBER: 3
|
||||
* DESCRIPTION: Exhaustive when, with bound value (sealed, enum, boolean), with redundant else branch.
|
||||
* HELPERS: enumClasses, sealedClasses
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: EnumClass): String = when (value_1) {
|
||||
EnumClass.EAST -> ""
|
||||
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-435
|
||||
* MAIN LINK: expressions, when-expression, exhaustive-when-expressions -> paragraph 2 -> sentence 11
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: Exhaustive when using nullable boolean values.
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Boolean?): String = when (value_1) {
|
||||
true -> ""
|
||||
false -> ""
|
||||
null -> ""
|
||||
}
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// SKIP_TXT
|
||||
// LANGUAGE: -ProhibitSimplificationOfNonTrivialConstBooleanExpressions
|
||||
|
||||
|
||||
+9
@@ -1,5 +1,14 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-435
|
||||
* MAIN LINK: expressions, when-expression, exhaustive-when-expressions -> paragraph 2 -> sentence 11
|
||||
* NUMBER: 3
|
||||
* DESCRIPTION: Exhaustive when using subclasses of the nullable sealed class.
|
||||
* HELPERS: sealedClasses
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: SealedClass?): Int = when (value_1) {
|
||||
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-100
|
||||
* MAIN LINK: expressions, when-expression, exhaustive-when-expressions -> paragraph 2 -> sentence 3
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: Exhaustive when using boolean values.
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Boolean): String = when (value_1) {
|
||||
true -> ""
|
||||
false -> ""
|
||||
}
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// SKIP_TXT
|
||||
// LANGUAGE: -ProhibitSimplificationOfNonTrivialConstBooleanExpressions
|
||||
|
||||
|
||||
+9
@@ -1,6 +1,15 @@
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-435
|
||||
* MAIN LINK: expressions, when-expression, exhaustive-when-expressions -> paragraph 2 -> sentence 7
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: Exhaustive when using subclasses of the sealed class.
|
||||
* HELPERS: sealedClasses
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: SealedClass): Int = when (value_1) {
|
||||
|
||||
Vendored
+9
@@ -1,5 +1,14 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-100
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 1 -> sentence 3
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: Empty when with bound value.
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int) {
|
||||
when (value_1) {}
|
||||
|
||||
Vendored
+10
@@ -1,5 +1,15 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-100
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 2 -> sentence 2
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: When with non-boolean value in the when condition.
|
||||
* HELPERS: typesProvider
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int, value_2: String, value_3: TypesProvider): String {
|
||||
when {
|
||||
|
||||
Vendored
+10
@@ -1,5 +1,15 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-100
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 2 -> sentence 2
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: When without bound value, forbidden comma in the when condition.
|
||||
* HELPERS: typesProvider, classes
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: TypesProvider) {
|
||||
when {
|
||||
|
||||
+2
-2
@@ -13,8 +13,8 @@
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: TypesProvider) {
|
||||
when {
|
||||
getBoolean()<!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> value_1.getBoolean() -> return
|
||||
value_1.getBoolean() && getBoolean()<!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> getLong() == 1000L -> return
|
||||
getBoolean()<!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> value_1.getBoolean() -> return
|
||||
value_1.getBoolean() && getBoolean()<!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> getLong() == 1000L -> return
|
||||
<!TYPE_MISMATCH!>Out<Int>()<!><!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> <!TYPE_MISMATCH!>getLong()<!><!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> <!TYPE_MISMATCH!>{}<!><!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> <!TYPE_MISMATCH!>Any()<!><!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> throw Exception() -> return
|
||||
}
|
||||
|
||||
|
||||
Vendored
+16
-3
@@ -1,6 +1,17 @@
|
||||
// LANGUAGE: +WarnAboutNonExhaustiveWhenOnAlgebraicTypes
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -DEBUG_INFO_SMARTCAST
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-100
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 2 -> sentence 1
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: When without bound value, various expressions in the control structure body.
|
||||
* HELPERS: typesProvider, classes, functions
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int) {
|
||||
when {
|
||||
@@ -60,11 +71,14 @@ fun case_5(value_1: Int, value_2: Int, value_3: Boolean?) {
|
||||
false -> "2"
|
||||
null -> "3"
|
||||
}
|
||||
value_1 == 5 -> <!NO_ELSE_IN_WHEN!>when<!> (value_3) {
|
||||
value_1 == 5 -> when (value_3) {
|
||||
true -> "1"
|
||||
false -> "2"
|
||||
else -> ""
|
||||
}
|
||||
value_1 == 6 -> when (value_3) {
|
||||
else -> ""
|
||||
}
|
||||
value_1 == 6 -> <!NO_ELSE_IN_WHEN!>when<!> (value_3) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +122,6 @@ fun case_8(value_1: Int, value_2: Int) = when {
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 9
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-37249
|
||||
*/
|
||||
fun case_9(value_1: Int, value_2: String, value_3: String) = when {
|
||||
|
||||
Vendored
+9
@@ -1,5 +1,14 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-100
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 2 -> sentence 1
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: Allowed break and continue in the control structure body of when.
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int): String {
|
||||
while (true) {
|
||||
|
||||
Vendored
+10
@@ -1,5 +1,15 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-100
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 2 -> sentence 2
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: When without bound value, various boolean values in the when condition.
|
||||
* HELPERS: typesProvider, enumClasses, sealedClasses, classes
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Boolean, value_2: Long): Int {
|
||||
return when {
|
||||
|
||||
Vendored
+12
@@ -1,5 +1,17 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-100
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 2 -> sentence 2
|
||||
* NUMBER: 3
|
||||
* DESCRIPTION: 'When' without bound value and with Nothing in condition (subtype of Boolean).
|
||||
* DISCUSSION
|
||||
* ISSUES: KT-25948
|
||||
* HELPERS: typesProvider
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: TypesProvider) {
|
||||
when {
|
||||
|
||||
Vendored
+9
@@ -1,6 +1,15 @@
|
||||
// !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-218
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 3 -> sentence 2
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: The else condition must also be in the last when entry of when expression, otherwise it is a compile-time error
|
||||
*/
|
||||
|
||||
// FILE: JavaEnum.java
|
||||
enum JavaEnum {
|
||||
Val_1,
|
||||
|
||||
Vendored
-68
@@ -1,68 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
// FULL_JDK
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-313
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 4 -> sentence 1
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: it is possible to replace the else condition with an always-true condition
|
||||
*/
|
||||
|
||||
// FILE: JavaEnum.java
|
||||
|
||||
enum JavaEnum {
|
||||
Val_1,
|
||||
Val_2,
|
||||
}
|
||||
|
||||
// FILE: KotlinClass.kt
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case1() {
|
||||
val z = JavaEnum.Val_1
|
||||
val when2 = <!NO_ELSE_IN_WHEN!>when<!> (z) {
|
||||
JavaEnum.Val_1 -> { }
|
||||
<!DUPLICATE_LABEL_IN_WHEN!>JavaEnum.Val_1<!> -> { }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
|
||||
fun case2() {
|
||||
val b = false
|
||||
val when2: Any = <!NO_ELSE_IN_WHEN!>when<!> (b) {
|
||||
false -> { }
|
||||
<!DUPLICATE_LABEL_IN_WHEN!>false<!> -> { }
|
||||
}
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
|
||||
fun case3() {
|
||||
val a = false
|
||||
val when2: Any = <!NO_ELSE_IN_WHEN!>when<!> (a) {
|
||||
true -> { }
|
||||
<!DUPLICATE_LABEL_IN_WHEN!>true<!> -> { }
|
||||
}
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 4
|
||||
|
||||
fun case4() {
|
||||
val x: SClass = SClass.B()
|
||||
val when2 = <!NO_ELSE_IN_WHEN!>when<!> (x){
|
||||
is SClass.A ->{ }
|
||||
is SClass.B ->{ }
|
||||
is <!DUPLICATE_LABEL_IN_WHEN!>SClass.B<!> ->{ }
|
||||
}
|
||||
}
|
||||
|
||||
sealed class SClass {
|
||||
class A : SClass()
|
||||
class B : SClass()
|
||||
class C : SClass()
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +ProhibitSimplificationOfNonTrivialConstBooleanExpressions
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// !LANGUAGE: -ProhibitSimplificationOfNonTrivialConstBooleanExpressions
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
// FULL_JDK
|
||||
|
||||
Vendored
+10
@@ -1,6 +1,16 @@
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-313
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 5 -> sentence 1
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: 'When' with bound value and with different variants of expressions in the control structure body.
|
||||
* HELPERS: typesProvider, classes, functions
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
fun case_5(value_1: Int, value_2: Int, value_3: Boolean?) {
|
||||
when (value_1) {
|
||||
|
||||
Vendored
+20
-5
@@ -1,6 +1,17 @@
|
||||
// LANGUAGE: +WarnAboutNonExhaustiveWhenOnAlgebraicTypes
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-313
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 5 -> sentence 1
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: 'When' with bound value and with different variants of expressions in the control structure body.
|
||||
* HELPERS: typesProvider, classes, functions
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int) {
|
||||
when (value_1) {
|
||||
@@ -46,8 +57,12 @@ fun case_4(value_1: Int, value_2: String, value_3: String) {
|
||||
// TESTCASE NUMBER: 5
|
||||
fun case_5(value_1: Int, value_2: Int, value_3: Boolean?) {
|
||||
when (value_1) {
|
||||
1 -> "3"
|
||||
2 -> ""
|
||||
1 -> when (value_3) {
|
||||
else -> "3"
|
||||
}
|
||||
2 -> when (value_3) {
|
||||
else -> ""
|
||||
}
|
||||
3 -> when (value_3) {
|
||||
else -> ""
|
||||
}
|
||||
@@ -55,7 +70,6 @@ fun case_5(value_1: Int, value_2: Int, value_3: Boolean?) {
|
||||
true -> "1"
|
||||
false -> "2"
|
||||
null -> "3"
|
||||
else -> ""
|
||||
}
|
||||
5 -> when (value_3) {
|
||||
true -> "1"
|
||||
@@ -70,7 +84,9 @@ fun case_5(value_1: Int, value_2: Int, value_3: Boolean?) {
|
||||
|
||||
// TESTCASE NUMBER: 6
|
||||
fun case_6(value_1: Int, value_2: Int, value_3: Boolean?) = when (value_1) {
|
||||
1 -> 3
|
||||
1 -> when (value_3) {
|
||||
else -> 3
|
||||
}
|
||||
else -> when (value_3) {
|
||||
true -> 1
|
||||
false -> 2
|
||||
@@ -104,7 +120,6 @@ fun case_8(value_1: Int, value_2: Int) = when (value_1) {
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 9
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-37249
|
||||
*/
|
||||
fun case_9(value_1: Int, value_2: String, value_3: String): Any {
|
||||
|
||||
Vendored
+9
@@ -1,5 +1,14 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-313
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 5 -> sentence 1
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: 'When' with bound value and allowed break and continue expression (without labels) in the control structure body.
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int): Int {
|
||||
while (true) {
|
||||
|
||||
Vendored
-28
@@ -1,28 +0,0 @@
|
||||
// SKIP_TXT
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Any): String {
|
||||
when (value_1) {
|
||||
<!NO_COMPANION_OBJECT!>EmptyClass<!> -> return ""
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
fun case_2(value_1: Any): String {
|
||||
when (value_1) {
|
||||
<!NO_COMPANION_OBJECT!>Any<!> -> return ""
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun case_3(value_1: Any): String {
|
||||
when (value_1) {
|
||||
<!NO_COMPANION_OBJECT!>Nothing<!> -> return ""
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
|
||||
Vendored
+10
@@ -1,5 +1,15 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-296
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 1
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: 'When' with bound value and type test condition on the non-type operand of the type checking operator.
|
||||
* HELPERS: classes
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Any, value_2: Int): String {
|
||||
when (value_1) {
|
||||
|
||||
Vendored
-11
@@ -1,11 +0,0 @@
|
||||
// SKIP_TXT
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int, value_2: TypesProvider): String {
|
||||
when (value_1) {
|
||||
<!INCOMPATIBLE_TYPES!>-1000L..100<!> -> return ""
|
||||
<!INCOMPATIBLE_TYPES!>value_2.getInt()..getLong()<!> -> return ""
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
|
||||
Vendored
+10
@@ -1,6 +1,16 @@
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-296
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 3
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: 'When' with bound value and 'when condition' with contains operator and type without defined contains operator.
|
||||
* HELPERS: classes
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int, value_2: EmptyClass, value_3: Int, value_4: Any): String {
|
||||
when (value_1) {
|
||||
|
||||
Vendored
-13
@@ -1,13 +0,0 @@
|
||||
// SKIP_TXT
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun case_3(value_1: Boolean, value_2: Boolean, value_3: Long) {
|
||||
<!NO_ELSE_IN_WHEN!>when<!> (value_1) {
|
||||
value_2 -> {}
|
||||
!value_2 -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_ERROR!>getBoolean() && value_2<!> -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_ERROR!>getChar() != 'a'<!> -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_ERROR!>getList() === getAny()<!> -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_ERROR!>value_3 <= 11<!> -> {}
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
|
||||
Vendored
+9
@@ -1,6 +1,15 @@
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-313
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 7
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: 'When' with bound value and with else branch not in the last position.
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int): String = when (value_1) {
|
||||
<!ELSE_MISPLACED_IN_WHEN!>else<!> -> ""
|
||||
|
||||
Vendored
+8
@@ -1,5 +1,13 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-435
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 7
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: 'When' without bound value and with 'else' branch not in the last position.
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int): String = when {
|
||||
|
||||
Vendored
+10
@@ -1,5 +1,15 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-296
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 1
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: 'When' with bound value and type test condition.
|
||||
* HELPERS: classes, objects
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Any): String {
|
||||
when (value_1) {
|
||||
|
||||
Vendored
+12
@@ -1,5 +1,16 @@
|
||||
// LANGUAGE: +WarnAboutNonExhaustiveWhenOnAlgebraicTypes
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-296
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 1
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: 'When' with bound value and type test condition (invert type checking operator).
|
||||
* HELPERS: classes, sealedClasses, objects
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: SealedClass) = when (value_1) {
|
||||
!is SealedChild1 -> {}
|
||||
@@ -34,6 +45,7 @@ fun case_4(value_1: SealedClass?) {
|
||||
when (value_1) {
|
||||
!is SealedChild2 -> {} // including null
|
||||
<!USELESS_IS_CHECK!>is SealedChild2?<!> -> {} // redundant nullable type check
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+10
@@ -1,5 +1,15 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-296
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 1
|
||||
* NUMBER: 3
|
||||
* DESCRIPTION: 'When' with bound value and enumaration of type test conditions.
|
||||
* HELPERS: classes, sealedClasses, objects
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Any) = when (value_1) {
|
||||
is Int -> {}
|
||||
|
||||
Vendored
+10
@@ -1,5 +1,15 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-296
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 1
|
||||
* NUMBER: 4
|
||||
* DESCRIPTION: 'When' with bound value and enumaration of type test conditions (with invert type checking operator).
|
||||
* HELPERS: sealedClasses
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: SealedClass): String = when (value_1) {
|
||||
is SealedChild1, !is SealedChild3 -> ""
|
||||
|
||||
Vendored
+12
-1
@@ -1,5 +1,15 @@
|
||||
// LANGUAGE: +WarnAboutNonExhaustiveWhenOnAlgebraicTypes
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-435
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 5
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: 'When' with enumeration of the different variants of expressions in 'when condition'.
|
||||
* HELPERS: typesProvider, classes, functions
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Any?) {
|
||||
@@ -24,9 +34,10 @@ fun case_2(value_1: Number, value_2: Int) {
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun case_3(value_1: Boolean, value_2: Boolean, value_3: Long) {
|
||||
<!NO_ELSE_IN_WHEN!>when<!> (value_1) {
|
||||
when (value_1) {
|
||||
value_2 -> {}
|
||||
!value_2 -> {}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+10
@@ -1,5 +1,15 @@
|
||||
// LANGUAGE: +WarnAboutNonExhaustiveWhenOnAlgebraicTypes
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-435
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 5
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: 'When' with different variants of the arithmetic expressions (additive expression and multiplicative expression) in 'when condition'.
|
||||
* HELPERS: typesProvider, classes, functions
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Any?) {
|
||||
|
||||
Vendored
+8
@@ -1,5 +1,13 @@
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-435
|
||||
* MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 6
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: 'When' with bound value and not allowed break and continue expression (without labels) in 'when condition'.
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(value_1: Int): String {
|
||||
|
||||
Reference in New Issue
Block a user