[Spec tests] Updating tests for kotlin 1.4.0
This commit is contained in:
committed by
Victor Petukhov
parent
ab3b63c92a
commit
1caafdc9d4
+52
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+35
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+18
@@ -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"
|
||||
}
|
||||
Vendored
+55
-1
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
-6
@@ -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>() }
|
||||
}
|
||||
+6
-6
@@ -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
|
||||
|
||||
+6
-6
@@ -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
|
||||
|
||||
+6
-6
@@ -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<!>)
|
||||
|
||||
+48
-48
@@ -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>() }
|
||||
}
|
||||
|
||||
+9
-9
@@ -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>() }
|
||||
}
|
||||
|
||||
+2
-2
@@ -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<!><!>)
|
||||
}
|
||||
|
||||
|
||||
+18
-32
@@ -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": {
|
||||
|
||||
+8
-4
@@ -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
|
||||
|
||||
+5
-5
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
+6
-2
@@ -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 { }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -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
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -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 ""<!>
|
||||
}
|
||||
}
|
||||
|
||||
+365
-370
File diff suppressed because it is too large
Load Diff
-13
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user