[Spec tests] Updating tests for kotlin 1.4.0

This commit is contained in:
anastasiia.spaseeva
2019-12-02 17:20:28 +03:00
committed by Victor Petukhov
parent ab3b63c92a
commit 1caafdc9d4
46 changed files with 707 additions and 833 deletions
@@ -57,6 +57,58 @@
"casesNumber": 3,
"description": "check if-expressions must have both branches.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Exhaustive with nullability check before",
"path": "compiler/testData/diagnostics/tests/when/ExhaustiveWithNullabilityCheckBefore.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Exhaustive with nullability check else",
"path": "compiler/testData/diagnostics/tests/when/ExhaustiveWithNullabilityCheckElse.kt",
"unexpectedBehaviour": false
}
]
}
},
"2": {
"neg": {
"1": [
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "When type disjunctions",
"path": "compiler/testData/diagnostics/tests/when/WhenTypeDisjunctions.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Exhaustive break continue",
"path": "compiler/testData/diagnostics/tests/when/ExhaustiveBreakContinue.kt",
"unexpectedBehaviour": false
}
]
},
"pos": {
"1": [
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Exhaustive return throw",
"path": "compiler/testData/diagnostics/tests/when/ExhaustiveReturnThrow.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Exhaustive return",
"path": "compiler/testData/diagnostics/tests/when/ExhaustiveReturn.kt",
"unexpectedBehaviour": false
}
]
}
@@ -0,0 +1,35 @@
{
"3": {
"pos": {
"1": [
{
"specVersion": "0.1-220",
"casesNumber": 0,
"description": "Class vs package",
"path": "compiler/testData/diagnostics/tests/callableReference/classVsPackage.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-220",
"casesNumber": 0,
"description": "Bare type",
"path": "compiler/testData/diagnostics/tests/callableReference/bareType.kt",
"unexpectedBehaviour": false
}
]
}
},
"11": {
"pos": {
"3": [
{
"specVersion": "0.1-220",
"casesNumber": 0,
"description": "Callable reference as last expression in block",
"path": "compiler/testData/diagnostics/tests/callableReference/callableReferenceAsLastExpressionInBlock.kt",
"unexpectedBehaviour": false
}
]
}
}
}
@@ -50,3 +50,21 @@ fun case2() {
if (<!TYPE_MISMATCH, TYPE_MISMATCH!>a<!>) { "true" } else "false"
checkSubtype<Boolean>(<!TYPE_MISMATCH!>a<!>)
}
// TESTCASE NUMBER: 3
// FILE: JavaClassCase3.java
public class JavaClassCase3{
public static <T> T id(T x) {
return null;
}
}
// FILE: KotlinClassCase3.kt
// TESTCASE NUMBER: 3
fun case3() {
val x = JavaClassCase3.id(null) // Nothing!
<!DEBUG_INFO_CONSTANT, DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing?")!>x<!>
val a = if (<!DEBUG_INFO_CONSTANT, TYPE_MISMATCH, TYPE_MISMATCH!>x<!>) {
"NOK"
} else "NOK"
}
@@ -4,7 +4,7 @@
"1": [
{
"specVersion": "0.1-218",
"casesNumber": 2,
"casesNumber": 3,
"description": "The type of the condition expression must be a subtype of kotlin.Boolean",
"unexpectedBehaviour": true
}
@@ -20,5 +20,59 @@
}
]
}
},
"4": {
"pos": {
"1": [
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt10811",
"path": "compiler/testData/diagnostics/tests/when/kt10811.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt9972",
"path": "compiler/testData/diagnostics/tests/when/kt9972.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt10809",
"path": "compiler/testData/diagnostics/tests/when/kt10809.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt10439",
"path": "compiler/testData/diagnostics/tests/when/kt10439.kt",
"unexpectedBehaviour": false
}
]
}
},
"5": {
"pos": {
"1": [
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt9972",
"path": "compiler/testData/diagnostics/tests/when/kt9972.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt10439",
"path": "compiler/testData/diagnostics/tests/when/kt10439.kt",
"unexpectedBehaviour": false
}
]
}
}
}
@@ -10,12 +10,12 @@
// TESTCASE NUMBER: 1
fun case_1() {
true checkType { <!TYPE_MISMATCH!>check<!><Boolean?>() }
false checkType { <!TYPE_MISMATCH!>check<!><Boolean?>() }
true checkType { <!NONE_APPLICABLE!>check<!><Boolean?>() }
false checkType { <!NONE_APPLICABLE!>check<!><Boolean?>() }
true checkType { <!TYPE_MISMATCH!>check<!><Any?>() }
false checkType { <!TYPE_MISMATCH!>check<!><Any>() }
true checkType { <!NONE_APPLICABLE!>check<!><Any?>() }
false checkType { <!NONE_APPLICABLE!>check<!><Any>() }
true checkType { <!TYPE_MISMATCH!>check<!><Nothing?>() }
false checkType { <!TYPE_MISMATCH!>check<!><Nothing>() }
true checkType { <!NONE_APPLICABLE!>check<!><Nothing?>() }
false checkType { <!NONE_APPLICABLE!>check<!><Nothing>() }
}
@@ -14,25 +14,25 @@ val value_1 = <!UNRESOLVED_REFERENCE!>E0<!>
val value_2 = <!UNRESOLVED_REFERENCE!>e000<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!>0
val value_3 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_MISSING_UNRESOLVED!>+<!>0
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>e00<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!>1
val value_5 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_MISSING_UNRESOLVED!>+<!>1
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>e22<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>-<!>333
val value_7 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_MISSING_UNRESOLVED!>-<!>333
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>e4444<!>
// TESTCASE NUMBER: 9
val value_9 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>-<!>55555
val value_9 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_MISSING_UNRESOLVED!>-<!>55555
// TESTCASE NUMBER: 10
val value_10 = <!UNRESOLVED_REFERENCE!>e666666<!>
@@ -41,7 +41,7 @@ val value_10 = <!UNRESOLVED_REFERENCE!>e666666<!>
val value_11 = <!UNRESOLVED_REFERENCE!>E7777777<!>
// TESTCASE NUMBER: 12
val value_12 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>-<!>88888888
val value_12 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_MISSING_UNRESOLVED!>-<!>88888888
// TESTCASE NUMBER: 13
val value_13 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!>999999999
val value_13 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_MISSING_UNRESOLVED!>+<!>999999999
@@ -14,25 +14,25 @@ val value_1 = <!UNRESOLVED_REFERENCE!>E0f<!>
val value_2 = <!UNRESOLVED_REFERENCE!>e000F<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!>0f
val value_3 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_MISSING_UNRESOLVED!>+<!>0f
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>e00f<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!>1F
val value_5 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_MISSING_UNRESOLVED!>+<!>1F
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>e22F<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>-<!>333F
val value_7 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_MISSING_UNRESOLVED!>-<!>333F
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>e4444f<!>
// TESTCASE NUMBER: 9
val value_9 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>-<!>55555f
val value_9 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_MISSING_UNRESOLVED!>-<!>55555f
// TESTCASE NUMBER: 10
val value_10 = <!UNRESOLVED_REFERENCE!>e666666F<!>
@@ -41,7 +41,7 @@ val value_10 = <!UNRESOLVED_REFERENCE!>e666666F<!>
val value_11 = <!UNRESOLVED_REFERENCE!>E7777777f<!>
// TESTCASE NUMBER: 12
val value_12 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>-<!>88888888F
val value_12 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_MISSING_UNRESOLVED!>-<!>88888888F
// TESTCASE NUMBER: 13
val value_13 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!>999999999F
val value_13 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_MISSING_UNRESOLVED!>+<!>999999999F
@@ -12,12 +12,12 @@
// TESTCASE NUMBER: 1
fun case_1() {
0L checkType { <!TYPE_MISMATCH!>check<!><Short>() }
1000000L checkType { <!TYPE_MISMATCH!>check<!><Int>() }
0XAf10cDL checkType { <!TYPE_MISMATCH!>check<!><Int>() }
0x0_0L checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
0b100_000_111_111L checkType { <!TYPE_MISMATCH!>check<!><Short>() }
0b0L checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
0L checkType { <!NONE_APPLICABLE!>check<!><Short>() }
1000000L checkType { <!NONE_APPLICABLE!>check<!><Int>() }
0XAf10cDL checkType { <!NONE_APPLICABLE!>check<!><Int>() }
0x0_0L checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
0b100_000_111_111L checkType { <!NONE_APPLICABLE!>check<!><Short>() }
0b0L checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0L<!>)
checkSubtype<Int>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1000000L<!>)
@@ -12,84 +12,84 @@
// TESTCASE NUMBER: 1
fun case_1() {
0 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
0 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
0 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
0 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
0 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
0 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
}
// TESTCASE NUMBER: 2
fun case_2() {
127 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
127 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
127 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
127 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
127 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
127 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>128<!>)
128 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
128 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
128 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
128 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
128 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
128 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
-128 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-128 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-128 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
-128 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-128 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-128 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-129<!>)
-129 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-129 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-129 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
-129 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-129 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-129 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
}
// TESTCASE NUMBER: 3
fun case_3() {
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>32767<!>)
32767 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
32767 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
32767 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
32767 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
32767 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
32767 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>32768<!>)
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>32768<!>)
32768 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
32768 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
32768 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
32768 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
32768 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
32768 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-32768<!>)
-32768 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-32768 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-32768 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
-32768 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-32768 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-32768 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-32769<!>)
checkSubtype<Short>(<!TYPE_MISMATCH!>-32769<!>)
-32769 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-32769 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-32769 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
-32769 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-32769 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-32769 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
}
// TESTCASE NUMBER: 4
fun case_4() {
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483647<!>)
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483647<!>)
2147483647 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
2147483647 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
2147483647 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
2147483647 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
2147483647 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
2147483647 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483648<!>)
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483648<!>)
checkSubtype<Int>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483648<!>)
2147483648 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
2147483648 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
2147483648 checkType { <!TYPE_MISMATCH!>check<!><Int>() }
2147483648 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
2147483648 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
2147483648 checkType { <!NONE_APPLICABLE!>check<!><Int>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-2147483648<!>)
checkSubtype<Short>(<!TYPE_MISMATCH!>-2147483648<!>)
-2147483648 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-2147483648 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-2147483648 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
-2147483648 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-2147483648 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-2147483648 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-2147483649<!>)
checkSubtype<Short>(<!TYPE_MISMATCH!>-2147483649<!>)
checkSubtype<Int>(<!TYPE_MISMATCH!>-2147483649<!>)
-2147483649 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-2147483649 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-2147483649 checkType { <!TYPE_MISMATCH!>check<!><Int>() }
-2147483649 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-2147483649 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-2147483649 checkType { <!NONE_APPLICABLE!>check<!><Int>() }
}
// TESTCASE NUMBER: 5
@@ -97,16 +97,16 @@ fun case_5() {
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
checkSubtype<Int>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Int>() }
9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Int>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-9223372036854775807<!>)
checkSubtype<Short>(<!TYPE_MISMATCH!>-9223372036854775807<!>)
checkSubtype<Int>(<!TYPE_MISMATCH!>-9223372036854775807<!>)
-9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Int>() }
-9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Int>() }
}
// TESTCASE NUMBER: 6
@@ -115,8 +115,8 @@ fun case_6() {
checkSubtype<Short>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!><!>)
checkSubtype<Int>(-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!>)
checkSubtype<Long>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!><!>)
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { check<Int>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { <!NONE_APPLICABLE!>check<!><Long>() }
}
@@ -13,23 +13,23 @@
// TESTCASE NUMBER: 1
fun case_1() {
checkSubtype<Long>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!><!>)
-<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
-<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!> checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Long>(<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!>)
<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Long>(<!INT_LITERAL_OUT_OF_RANGE, TYPE_MISMATCH!>9223372036854775808L<!>)
<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!> checkType { <!NONE_APPLICABLE!>check<!><Long>() }
}
// TESTCASE NUMBER: 2
fun case_2() {
checkSubtype<Long>(<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!>)
<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Long>(<!INT_LITERAL_OUT_OF_RANGE, TYPE_MISMATCH!>100000000000000000000000000000000L<!>)
<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!> checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Long>(<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!>)
<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Long>(<!INT_LITERAL_OUT_OF_RANGE, TYPE_MISMATCH!>100000000000000000000000000000000l<!>)
<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!> checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Long>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!><!>)
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!> checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Long>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!><!>)
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!> checkType { <!NONE_APPLICABLE!>check<!><Long>() }
}
@@ -37,7 +37,7 @@ fun case_1() {
f1(<!TYPE_MISMATCH!>-2147483648<!>)
f1(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
f1(<!TYPE_MISMATCH!>-9223372036854775807<!>)
f1(<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
f1(<!INT_LITERAL_OUT_OF_RANGE, TYPE_MISMATCH!>1000000000000000000000000000000000000000000000000<!>)
f1(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!><!>)
}
@@ -49,7 +49,7 @@ fun case_2() {
f2(<!TYPE_MISMATCH!>-2147483648<!>)
f2(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
f2(<!TYPE_MISMATCH!>-9223372036854775807<!>)
f2(<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
f2(<!INT_LITERAL_OUT_OF_RANGE, TYPE_MISMATCH!>1000000000000000000000000000000000000000000000000<!>)
f2(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!><!>)
}
@@ -424,13 +424,6 @@
"path": "compiler/testData/diagnostics/tests/when/ExhaustivePlatformEnumElse.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt9929",
"path": "compiler/testData/diagnostics/tests/when/kt9929.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
@@ -640,31 +633,6 @@
}
},
"1": {
"pos": {
"1": [
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt9929",
"path": "compiler/testData/diagnostics/tests/when/kt9929.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt4434",
"path": "compiler/testData/diagnostics/tests/when/kt4434.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Non exhaustive boolean nullable",
"path": "compiler/testData/diagnostics/tests/when/NonExhaustiveBooleanNullable.kt",
"unexpectedBehaviour": false
}
]
},
"neg": {
"1": [
{
@@ -759,6 +727,24 @@
"unexpectedBehaviour": false
}
]
},
"pos": {
"1": [
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt4434",
"path": "compiler/testData/diagnostics/tests/when/kt4434.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Non exhaustive boolean nullable",
"path": "compiler/testData/diagnostics/tests/when/NonExhaustiveBooleanNullable.kt",
"unexpectedBehaviour": false
}
]
}
},
"3": {
@@ -116,11 +116,15 @@ fun case_8(value_1: Int, value_2: Int) = when {
else "4"
}
// TESTCASE NUMBER: 9
/*
* TESTCASE NUMBER: 9
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-37249
*/
fun case_9(value_1: Int, value_2: String, value_3: String) = when {
value_1 == 1 -> <!IMPLICIT_CAST_TO_ANY!>try { 4 } catch (e: Exception) { 5 }<!>
value_1 == 2 -> <!IMPLICIT_CAST_TO_ANY!>try { throw Exception() } catch (e: Exception) { value_2 }<!>
else -> <!IMPLICIT_CAST_TO_ANY!>try { throw Exception() } catch (e: Exception) { {value_3} } finally { }<!>
value_1 == 1 -> try { 4 } catch (e: Exception) { 5 }
value_1 == 2 -> try { throw Exception() } catch (e: Exception) { value_2 }
else -> try { throw Exception() } catch (e: Exception) <!TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH!>{ {<!TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH!>value_3<!>} }<!> finally { }
}
// TESTCASE NUMBER: 10
@@ -1,19 +1,19 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, when-expression -> paragraph 2 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Forbidden break and continue in the control structure body of when.
* 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) {
when {
value_1 == 1 -> <!BREAK_OR_CONTINUE_IN_WHEN!>break<!>
value_1 == 1 -> break
}
}
@@ -24,7 +24,7 @@ fun case_1(value_1: Int): String {
fun case_2(value_1: Int): String {
while (true) {
when {
value_1 == 1 -> <!BREAK_OR_CONTINUE_IN_WHEN!>continue<!>
value_1 == 1 -> continue
}
}
@@ -117,12 +117,16 @@ fun case_8(value_1: Int, value_2: Int) = when (value_1) {
else "4"
}
// TESTCASE NUMBER: 9
/*
* TESTCASE NUMBER: 9
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-37249
*/
fun case_9(value_1: Int, value_2: String, value_3: String): Any {
return when (value_1) {
1 -> try { 4 } catch (e: Exception) { 5 }
2 -> try { throw Exception() } catch (e: Exception) { value_2 }
else -> try { throw Exception() } catch (e: Exception) { {value_3} } finally { }
else -> try { throw Exception() } catch (e: Exception) <!TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH!>{ {<!TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH!>value_3<!>} }<!> finally { }
}
}
@@ -1,12 +1,12 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, when-expression -> paragraph 5 -> sentence 1
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and not allowed break and continue expression (without labels) in the control structure body.
* NUMBER: 2
* DESCRIPTION: 'When' with bound value and allowed break and continue expression (without labels) in the control structure body.
*/
// TESTCASE NUMBER: 1
@@ -14,7 +14,7 @@ fun case_1(value_1: Int): Int {
while (true) {
when (value_1) {
1 -> return 1
2 -> <!BREAK_OR_CONTINUE_IN_WHEN!>break<!>
2 -> break
}
}
@@ -25,7 +25,7 @@ fun case_1(value_1: Int): Int {
fun case_2(value_1: Int): Int {
while (true) {
when (value_1) {
1 -> <!BREAK_OR_CONTINUE_IN_WHEN!>continue<!>
1 -> continue
2 -> return 1
}
}
@@ -1,11 +1,11 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-201
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 11
* NUMBER: 2
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and not allowed break and continue expression (without labels) in 'when condition'.
*/
@@ -13,7 +13,7 @@
fun case_1(value_1: Int): String {
while (true) {
when (value_1) {
<!BREAK_OR_CONTINUE_IN_WHEN!>break<!><!UNREACHABLE_CODE!><!> -> <!UNREACHABLE_CODE!>return ""<!>
break<!UNREACHABLE_CODE!><!> -> <!UNREACHABLE_CODE!>return ""<!>
}
}
@@ -24,7 +24,7 @@ fun case_1(value_1: Int): String {
fun case_2(value_1: Int): String {
while (true) {
when (value_1) {
<!BREAK_OR_CONTINUE_IN_WHEN!>continue<!><!UNREACHABLE_CODE!><!> -> <!UNREACHABLE_CODE!>return ""<!>
continue<!UNREACHABLE_CODE!><!> -> <!UNREACHABLE_CODE!>return ""<!>
}
}
File diff suppressed because it is too large Load Diff
@@ -62,18 +62,5 @@
}
]
}
},
"5": {
"pos": {
"2": [
{
"specVersion": "0.1-152",
"casesNumber": 0,
"description": "Kt9929",
"path": "compiler/testData/diagnostics/tests/when/kt9929.kt",
"unexpectedBehaviour": false
}
]
}
}
}