[Spec tests] Update spec tests metadata

This commit is contained in:
anastasiia.spaseeva
2020-03-18 15:58:03 +03:00
committed by Victor Petukhov
parent 8b307c0a2a
commit 509036b08b
76 changed files with 303 additions and 280 deletions
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the class.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 10
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the companionObject.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 11
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the function.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 12
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the setter.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 13
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the simpleUserType.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 14
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the typeParameter.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 15
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the parameter.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 16
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the fileAnnotationComplex.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 17
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the object.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 18
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the typeAlias.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 19
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the import.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the labelReference.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 20
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the infixFunctionCall.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 21
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the catchBlock.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 22
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the labelDefinition.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 23
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the atomicExpression.
@@ -3,7 +3,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 24
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the variableDeclarationEntry.
@@ -3,7 +3,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 25
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the valueArgument.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 26
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the callableReference.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 3
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the typeConstraint.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 4
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the fileAnnotationSimple.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 5
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the packageComplex.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 6
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the packageSimple.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 7
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the enumEntry.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 8
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the stringTemplateElement.
@@ -1,7 +1,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 9
* DESCRIPTION: The use of Boolean literals as the identifier (with backtick) in the unescapedAnnotation.
@@ -3,157 +3,157 @@
"pos": {
"2": [
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the companionObject.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the variableDeclarationEntry.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the class.",
"unexpectedBehaviour": true
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the infixFunctionCall.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the typeParameter.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the packageComplex.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the catchBlock.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the parameter.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the fileAnnotationSimple.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the function.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the valueArgument.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the unescapedAnnotation.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the typeAlias.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the stringTemplateElement.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the import.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the labelDefinition.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the fileAnnotationComplex.",
"unexpectedBehaviour": true
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the enumEntry.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the setter.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the callableReference.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the typeConstraint.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the simpleUserType.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the labelReference.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the atomicExpression.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the object.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-300",
"casesNumber": 0,
"description": "The use of Boolean literals as the identifier (with backtick) in the packageSimple.",
"unexpectedBehaviour": false
@@ -3,7 +3,7 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-218
* SPEC VERSION: 0.1-297
* PLACE: expressions, try-expression -> paragraph 7 -> sentence 1
* NUMBER: 1
* DESCRIPTION: finally block has no effect on the value returned by the try-expression
@@ -3,7 +3,7 @@
"pos": {
"1": [
{
"specVersion": "0.1-218",
"specVersion": "0.1-297",
"casesNumber": 0,
"description": "finally block has no effect on the value returned by the try-expression",
"unexpectedBehaviour": false
@@ -0,0 +1 @@
java.lang.IllegalStateException: CANNOT_CHECK_FOR_ERASED: Cannot check for instance of erased type: A<Long> (16,18) in /1.1.kt
@@ -3,8 +3,8 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-218
* PLACE: expressions, type-checking-and-containment-checking-expressions, type-checking-expression -> paragraph 1 -> sentence 2
* SPEC VERSION: 0.1-297
* PLACE: expressions, type-checking-and-containment-checking-expressions, type-checking-expression -> paragraph 2 -> sentence 1
* NUMBER: 1
* DESCRIPTION: E is T: The type T must be runtime-available, otherwise it is a compiler error
* EXCEPTION: compiletime
@@ -3,8 +3,8 @@
/*
* KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-218
* PLACE: expressions, type-checking-and-containment-checking-expressions, type-checking-expression -> paragraph 4 -> sentence 1
* SPEC VERSION: 0.1-297
* PLACE: expressions, type-checking-and-containment-checking-expressions, type-checking-expression -> paragraph 5 -> sentence 1
* NUMBER: 1
* DESCRIPTION: the expression null is T? for any type T always evaluates to true
*/
@@ -1,15 +1,5 @@
{
"1": {
"neg": {
"2": [
{
"specVersion": "0.1-218",
"casesNumber": 0,
"description": "E is T: The type T must be runtime-available, otherwise it is a compiler error",
"unexpectedBehaviour": false
}
]
},
"pos": {
"3": [
{
@@ -27,11 +17,23 @@
]
}
},
"4": {
"2": {
"neg": {
"1": [
{
"specVersion": "0.1-297",
"casesNumber": 0,
"description": "E is T: The type T must be runtime-available, otherwise it is a compiler error",
"unexpectedBehaviour": false
}
]
}
},
"5": {
"pos": {
"1": [
{
"specVersion": "0.1-218",
"specVersion": "0.1-297",
"casesNumber": 0,
"description": "the expression null is T? for any type T always evaluates to true",
"unexpectedBehaviour": false
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-213
* SPEC VERSION: 0.1-296
* PLACE: control--and-data-flow-analysis, control-flow-graph, expressions-1, conditional-expressions -> paragraph 1 -> sentence 1
* NUMBER: 1
* DESCRIPTION: check if-expressions must have both branches.
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-213
* SPEC VERSION: 0.1-296
* PLACE: control--and-data-flow-analysis, control-flow-graph, expressions-1, conditional-expressions -> paragraph 1 -> sentence 1
* NUMBER: 2
* DESCRIPTION: check if-expressions must have both branches.
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-213
* SPEC VERSION: 0.1-296
* PLACE: control--and-data-flow-analysis, control-flow-graph, expressions-1, conditional-expressions -> paragraph 1 -> sentence 1
* NUMBER: 3
* DESCRIPTION: check if-expressions must have both branches. (attempt to pass Nothing to if-condition without 'else' key word)
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-213
* SPEC VERSION: 0.1-296
* PLACE: control--and-data-flow-analysis, control-flow-graph, expressions-1, conditional-expressions -> paragraph 1 -> sentence 1
* NUMBER: 4
* DESCRIPTION: check if-expressions must have both branches. (attempt to pass Nothing to if-condition with 'else' key word)
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-213
* SPEC VERSION: 0.1-296
* PLACE: control--and-data-flow-analysis, control-flow-graph, expressions-1, conditional-expressions -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: check any if-statement in kotlin may be trivially turned into such an expression by replacing the missing branch with a kotlin.Unit object expression.
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-213
* SPEC VERSION: 0.1-296
* PLACE: control--and-data-flow-analysis, control-flow-graph, expressions-1, conditional-expressions -> paragraph 1 -> sentence 1
* NUMBER: 1
* DESCRIPTION: check if-expressions must have both branches.
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-213
* SPEC VERSION: 0.1-296
* PLACE: control--and-data-flow-analysis, control-flow-graph, expressions-1, conditional-expressions -> paragraph 1 -> sentence 1
* NUMBER: 2
* DESCRIPTION: check if-expressions must have both branches.
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-213
* SPEC VERSION: 0.1-296
* PLACE: control--and-data-flow-analysis, control-flow-graph, expressions-1, conditional-expressions -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: check any if-statement in kotlin may be trivially turned into such an expression by replacing the missing branch with a kotlin.Unit object expression.
@@ -3,7 +3,7 @@
"neg": {
"2": [
{
"specVersion": "0.1-213",
"specVersion": "0.1-296",
"casesNumber": 2,
"description": "check any if-statement in kotlin may be trivially turned into such an expression by replacing the missing branch with a kotlin.Unit object expression.",
"unexpectedBehaviour": false
@@ -11,25 +11,25 @@
],
"1": [
{
"specVersion": "0.1-213",
"specVersion": "0.1-296",
"casesNumber": 2,
"description": "check if-expressions must have both branches.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-213",
"specVersion": "0.1-296",
"casesNumber": 8,
"description": "check if-expressions must have both branches. (attempt to pass Nothing to if-condition without \u0027else\u0027 key word)",
"unexpectedBehaviour": true
},
{
"specVersion": "0.1-213",
"specVersion": "0.1-296",
"casesNumber": 5,
"description": "check if-expressions must have both branches. (attempt to pass Nothing to if-condition with \u0027else\u0027 key word)",
"unexpectedBehaviour": true
},
{
"specVersion": "0.1-213",
"specVersion": "0.1-296",
"casesNumber": 2,
"description": "check if-expressions must have both branches.",
"unexpectedBehaviour": false
@@ -39,7 +39,7 @@
"pos": {
"2": [
{
"specVersion": "0.1-213",
"specVersion": "0.1-296",
"casesNumber": 2,
"description": "check any if-statement in kotlin may be trivially turned into such an expression by replacing the missing branch with a kotlin.Unit object expression.",
"unexpectedBehaviour": false
@@ -47,13 +47,13 @@
],
"1": [
{
"specVersion": "0.1-213",
"specVersion": "0.1-296",
"casesNumber": 2,
"description": "check if-expressions must have both branches.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-213",
"specVersion": "0.1-296",
"casesNumber": 3,
"description": "check if-expressions must have both branches.",
"unexpectedBehaviour": false
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-218
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: checking of type for Boolean values: impossible to use as identifiers
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-218
* SPEC VERSION: 0.1-300
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: checking of type for Boolean values: possible to use as identifiers if surround with backticks
@@ -3,7 +3,7 @@
"neg": {
"2": [
{
"specVersion": "0.1-218",
"specVersion": "0.1-300",
"casesNumber": 7,
"description": "checking of type for Boolean values: impossible to use as identifiers",
"unexpectedBehaviour": false
@@ -21,7 +21,7 @@
"pos": {
"2": [
{
"specVersion": "0.1-218",
"specVersion": "0.1-300",
"casesNumber": 7,
"description": "checking of type for Boolean values: possible to use as identifiers if surround with backticks",
"unexpectedBehaviour": false
@@ -0,0 +1,54 @@
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNREACHABLE_CODE -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-296
* PLACE: expressions, not-null-assertion-expression -> paragraph 2 -> sentence 1
* NUMBER: 1
* DESCRIPTION: If the type of e is non-nullable, not-null assertion expression e!! has no effect.
*/
// MODULE: libModule
// FILE: libModule/JavaClass.java
package libModule;
public class JavaClass {
public static final boolean FALSE = false;
public static int obj = 5;
}
// MODULE: mainModule(libModule)
// FILE: KotlinClass.kt
package mainModule
import libModule.*
// TESTCASE NUMBER: 1
fun case1() {
val res = JavaClass.FALSE<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
}
// TESTCASE NUMBER: 2
fun case2() {
val x = JavaClass.obj<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
}
// TESTCASE NUMBER: 3
fun case3() {
val a = false
val x = a<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
}
// TESTCASE NUMBER: 4
fun case4() {
val x = "weds"<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
}
// TESTCASE NUMBER: 5
fun case5(nothing: Nothing) {
val y = nothing<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
}
@@ -5,19 +5,21 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-220
* SPEC VERSION: 0.1-296
* PLACE: expressions, not-null-assertion-expression -> paragraph 3 -> sentence 1
* NUMBER: 1
* DESCRIPTION: If the type of e is non-nullable, not-null assertion expression e!! has no effect.
* DESCRIPTION: The type of non-null assertion e!! expression is the non-nullable variant of the type of e.
* HELPERS: checkType
*/
// MODULE: libModule
// FILE: libModule/JavaClass.java
package libModule;
public class JavaClass {
public static final boolean FALSE = false;
public static int obj = 5;
public static final String STR;
public static Object obj;
}
@@ -25,30 +27,44 @@ public class JavaClass {
// FILE: KotlinClass.kt
package mainModule
import libModule.*
import checkSubtype
// TESTCASE NUMBER: 1
fun case1() {
val res = JavaClass.FALSE<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
val a = JavaClass.STR
<!DEBUG_INFO_EXPRESSION_TYPE("(kotlin.String..kotlin.String?)")!>a<!>
val res = a!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>res<!>
}
// TESTCASE NUMBER: 2
fun case2() {
val x = JavaClass.obj<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
val a = JavaClass.obj
<!DEBUG_INFO_EXPRESSION_TYPE("(kotlin.Any..kotlin.Any?)")!>a<!>
val x = a!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>x<!>
}
// TESTCASE NUMBER: 3
fun case3() {
val a = false
val x = a<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
val a : Any? = false
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a<!>
val x = a!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>x<!>
}
// TESTCASE NUMBER: 4
fun case4() {
val x = "weds"<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
val a : String? = "weds"
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>a<!>
val x = a!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>x<!>
}
// TESTCASE NUMBER: 5
fun case5(nothing: Nothing) {
val y = nothing<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
fun case5(nothing: Nothing?) {
<!DEBUG_INFO_CONSTANT, DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing?")!>nothing<!>
val y = <!ALWAYS_NULL!>nothing<!>!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing")!>y<!>
}
@@ -1,70 +0,0 @@
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNREACHABLE_CODE -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-220
* PLACE: expressions, not-null-assertion-expression -> paragraph 4 -> sentence 1
* NUMBER: 1
* DESCRIPTION: The type of non-null assertion e!! expression is the non-nullable variant of the type of e.
* HELPERS: checkType
*/
// MODULE: libModule
// FILE: libModule/JavaClass.java
package libModule;
public class JavaClass {
public static final String STR;
public static Object obj;
}
// MODULE: mainModule(libModule)
// FILE: KotlinClass.kt
package mainModule
import libModule.*
import checkSubtype
// TESTCASE NUMBER: 1
fun case1() {
val a = JavaClass.STR
<!DEBUG_INFO_EXPRESSION_TYPE("(kotlin.String..kotlin.String?)")!>a<!>
val res = a!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>res<!>
}
// TESTCASE NUMBER: 2
fun case2() {
val a = JavaClass.obj
<!DEBUG_INFO_EXPRESSION_TYPE("(kotlin.Any..kotlin.Any?)")!>a<!>
val x = a!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>x<!>
}
// TESTCASE NUMBER: 3
fun case3() {
val a : Any? = false
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>a<!>
val x = a!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>x<!>
}
// TESTCASE NUMBER: 4
fun case4() {
val a : String? = "weds"
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>a<!>
val x = a!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>x<!>
}
// TESTCASE NUMBER: 5
fun case5(nothing: Nothing?) {
<!DEBUG_INFO_CONSTANT, DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing?")!>nothing<!>
val y = <!ALWAYS_NULL!>nothing<!>!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing")!>y<!>
}
@@ -1,9 +1,9 @@
{
"4": {
"3": {
"pos": {
"1": [
{
"specVersion": "0.1-220",
"specVersion": "0.1-296",
"casesNumber": 5,
"description": "The type of non-null assertion e!! expression is the non-nullable variant of the type of e.",
"unexpectedBehaviour": false
@@ -11,11 +11,11 @@
]
}
},
"3": {
"2": {
"pos": {
"1": [
{
"specVersion": "0.1-220",
"specVersion": "0.1-296",
"casesNumber": 5,
"description": "If the type of e is non-nullable, not-null assertion expression e!! has no effect.",
"unexpectedBehaviour": false
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-218
* SPEC VERSION: 0.1-296
* PLACE: expressions, try-expression -> paragraph 8 -> sentence 1
* RELEVANT PLACES: expressions, try-expression -> paragraph 9 -> sentence 1
* NUMBER: 1
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-218
* SPEC VERSION: 0.1-296
* PLACE: expressions, try-expression -> paragraph 8 -> sentence 1
* RELEVANT PLACES: expressions, try-expression -> paragraph 9 -> sentence 1
* NUMBER: 1
@@ -144,7 +144,7 @@
"neg": {
"1": [
{
"specVersion": "0.1-218",
"specVersion": "0.1-296",
"casesNumber": 3,
"description": "The type of the try-expression is the least upper bound of the types of the last expressions of the try body and the last expressions of all the catch blocks",
"unexpectedBehaviour": true
@@ -154,7 +154,7 @@
"pos": {
"1": [
{
"specVersion": "0.1-218",
"specVersion": "0.1-296",
"casesNumber": 3,
"description": "The type of the try-expression is the least upper bound of the types of the last expressions of the try body and the last expressions of all the catch blocks",
"unexpectedBehaviour": false
@@ -166,7 +166,7 @@
"neg": {
"1": [
{
"specVersion": "0.1-218",
"specVersion": "0.1-296",
"casesNumber": 3,
"description": "The type of the try-expression is the least upper bound of the types of the last expressions of the try body and the last expressions of all the catch blocks",
"path": "compiler/tests-spec/testData/diagnostics/linked/expressions/try-expression/p-8/neg/1.1.kt",
@@ -177,7 +177,7 @@
"pos": {
"1": [
{
"specVersion": "0.1-218",
"specVersion": "0.1-296",
"casesNumber": 3,
"description": "The type of the try-expression is the least upper bound of the types of the last expressions of the try body and the last expressions of all the catch blocks",
"path": "compiler/tests-spec/testData/diagnostics/linked/expressions/try-expression/p-8/pos/1.1.kt",
@@ -5,8 +5,8 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-218
* PLACE: expressions, type-checking-and-containment-checking-expressions, type-checking-expression -> paragraph 3 -> sentence 1
* SPEC VERSION: 0.1-296
* PLACE: expressions, type-checking-and-containment-checking-expressions, type-checking-expression -> paragraph 4 -> sentence 1
* RELEVANT PLACES: expressions, type-checking-and-containment-checking-expressions, type-checking-expression -> paragraph 4 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Type-checking expression always has type kotlin.Boolean.
@@ -1,24 +1,18 @@
{
"3": {
"pos": {
"1": [
{
"specVersion": "0.1-218",
"casesNumber": 4,
"description": "Type-checking expression always has type kotlin.Boolean.",
"unexpectedBehaviour": false
}
]
}
},
"4": {
"pos": {
"1": [
{
"specVersion": "0.1-218",
"specVersion": "0.1-296",
"casesNumber": 4,
"description": "Type-checking expression always has type kotlin.Boolean.",
"path": "compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-3/pos/1.1.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-296",
"casesNumber": 4,
"description": "Type-checking expression always has type kotlin.Boolean.",
"path": "compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4/pos/1.1.kt",
"unexpectedBehaviour": false
}
]
@@ -3,7 +3,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 1
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and type test condition (without companion object in classes), but without type checking operator.
@@ -3,7 +3,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: 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.
@@ -3,7 +3,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 3
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and 'when condition' with range expression, but without containment checking operator.
@@ -4,7 +4,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: 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.
@@ -3,7 +3,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 1
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and type test condition.
@@ -3,7 +3,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 1
* NUMBER: 2
* DESCRIPTION: 'When' with bound value and type test condition (invert type checking operator).
@@ -3,7 +3,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 1
* NUMBER: 3
* DESCRIPTION: 'When' with bound value and enumaration of type test conditions.
@@ -3,7 +3,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: 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).
@@ -3,7 +3,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 3
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and containment operator.
@@ -3,7 +3,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 3
* NUMBER: 2
* DESCRIPTION: 'When' with bound value and enumeration of the containment operators.
@@ -11,13 +11,13 @@
],
"1": [
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 1,
"description": "\u0027When\u0027 with bound value and type test condition on the non-type operand of the type checking operator.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 3,
"description": "\u0027When\u0027 with bound value and type test condition (without companion object in classes), but without type checking operator.",
"unexpectedBehaviour": false
@@ -74,13 +74,13 @@
],
"3": [
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 1,
"description": "\u0027When\u0027 with bound value and \u0027when condition\u0027 with range expression, but without containment checking operator.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 2,
"description": "\u0027When\u0027 with bound value and \u0027when condition\u0027 with contains operator and type without defined contains operator.",
"unexpectedBehaviour": false
@@ -190,25 +190,25 @@
],
"1": [
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 5,
"description": "\u0027When\u0027 with bound value and type test condition (invert type checking operator).",
"unexpectedBehaviour": true
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 6,
"description": "\u0027When\u0027 with bound value and enumaration of type test conditions.",
"unexpectedBehaviour": true
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 7,
"description": "\u0027When\u0027 with bound value and enumaration of type test conditions (with invert type checking operator).",
"unexpectedBehaviour": true
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 6,
"description": "\u0027When\u0027 with bound value and type test condition.",
"unexpectedBehaviour": true
@@ -251,13 +251,13 @@
],
"3": [
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 2,
"description": "\u0027When\u0027 with bound value and containment operator.",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 2,
"description": "\u0027When\u0027 with bound value and enumeration of the containment operators.",
"unexpectedBehaviour": false
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-201
* SPEC VERSION: 0.1-296
* PLACE: type-system, introduction-1 -> paragraph 8 -> sentence 1
* RELEVANT PLACES: type-system, type-kinds, built-in-types, kotlin.Any -> paragraph 1 -> sentence 1
* NUMBER: 1
@@ -3,14 +3,14 @@
"pos": {
"1": [
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 11,
"description": "The use of Boolean literals as the identifier (with backtick) in the class.",
"path": "compiler/tests-spec/testData/diagnostics/linked/type-system/type-kinds/built-in-types/kotlin.any/p-1/pos/1.2.kt",
"unexpectedBehaviour": false
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 9,
"description": "The use of Boolean literals as the identifier (with backtick) in the class.",
"path": "compiler/tests-spec/testData/diagnostics/linked/type-system/type-kinds/built-in-types/kotlin.any/p-1/pos/1.1.kt",
@@ -55,7 +55,7 @@
],
"1": [
{
"specVersion": "0.1-201",
"specVersion": "0.1-296",
"casesNumber": 13,
"description": "The use of Boolean literals as the identifier (with backtick) in the class.",
"unexpectedBehaviour": false
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: type-system, type-kinds, built-in-types, kotlin.any -> paragraph 1 -> sentence 1
* RELEVANT PLACES: type-system, introduction-1 -> paragraph 7 -> sentence 1
* NUMBER: 1
@@ -5,7 +5,7 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: type-system, type-kinds, built-in-types, kotlin.any -> paragraph 1 -> sentence 1
* RELEVANT PLACES: type-system, introduction-1 -> paragraph 7 -> sentence 1
* NUMBER: 2
@@ -3,7 +3,7 @@
"pos": {
"1": [
{
"specVersion": "0.1-201",
"specVersion": "0.1-296",
"casesNumber": 13,
"description": "The use of Boolean literals as the identifier (with backtick) in the class.",
"path": "compiler/tests-spec/testData/diagnostics/linked/type-system/introduction-1/p-8/pos/1.1.kt",
@@ -1,7 +1,7 @@
/*
* KOTLIN PSI SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 1
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and type test condition, but missed type in 'when condition'.
@@ -1,7 +1,7 @@
/*
* KOTLIN PSI SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 1
* NUMBER: 2
* DESCRIPTION: 'When' with bound value and 'when condition' with type checking operator and non-type value.
@@ -1,7 +1,7 @@
/*
* KOTLIN PSI SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-296
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 3
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and 'when condition' with range expression, but without contains operator.
@@ -11,13 +11,13 @@
],
"1": [
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 0,
"description": "\u0027When\u0027 with bound value and \u0027when condition\u0027 with type checking operator and non-type value.",
"unexpectedBehaviour": true
},
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 0,
"description": "\u0027When\u0027 with bound value and type test condition, but missed type in \u0027when condition\u0027.",
"unexpectedBehaviour": false
@@ -25,7 +25,7 @@
],
"3": [
{
"specVersion": "0.1-100",
"specVersion": "0.1-296",
"casesNumber": 0,
"description": "\u0027When\u0027 with bound value and \u0027when condition\u0027 with range expression, but without contains operator.",
"unexpectedBehaviour": false
@@ -2035,6 +2035,37 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-2")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class P_2 extends AbstractDiagnosticsTestSpec {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
public void testAllFilesPresentInP_2() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-2"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-2/pos")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Pos extends AbstractDiagnosticsTestSpec {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
@TestMetadata("1.1.kt")
public void test1_1() throws Exception {
runTest("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-2/pos/1.1.kt");
}
public void testAllFilesPresentInPos() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-2/pos"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
}
}
@TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-3")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -2065,37 +2096,6 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec {
}
}
}
@TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-4")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class P_4 extends AbstractDiagnosticsTestSpec {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
public void testAllFilesPresentInP_4() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-4"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-4/pos")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Pos extends AbstractDiagnosticsTestSpec {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
@TestMetadata("1.1.kt")
public void test1_1() throws Exception {
runTest("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-4/pos/1.1.kt");
}
public void testAllFilesPresentInPos() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/not-null-assertion-expression/p-4/pos"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
}
}
}
@TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions")
@@ -2718,19 +2718,19 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-3")
@TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class P_3 extends AbstractDiagnosticsTestSpec {
public static class P_4 extends AbstractDiagnosticsTestSpec {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
public void testAllFilesPresentInP_3() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-3"), Pattern.compile("^(.+)\\.kt$"), null, true);
public void testAllFilesPresentInP_4() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-3/pos")
@TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4/pos")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Pos extends AbstractDiagnosticsTestSpec {
@@ -2740,11 +2740,11 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec {
@TestMetadata("1.1.kt")
public void test1_1() throws Exception {
runTest("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-3/pos/1.1.kt");
runTest("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4/pos/1.1.kt");
}
public void testAllFilesPresentInPos() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-3/pos"), Pattern.compile("^(.+)\\.kt$"), null, true);
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4/pos"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
}
}
@@ -2837,11 +2837,6 @@ public class BlackBoxCodegenTestSpecGenerated extends AbstractBlackBoxCodegenTes
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
@TestMetadata("2.1.kt")
public void test2_1() throws Exception {
runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-1/neg/2.1.kt");
}
public void testAllFilesPresentInNeg() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-1/neg"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@@ -2871,19 +2866,50 @@ public class BlackBoxCodegenTestSpecGenerated extends AbstractBlackBoxCodegenTes
}
}
@TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4")
@TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-2")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class P_4 extends AbstractBlackBoxCodegenTestSpec {
public static class P_2 extends AbstractBlackBoxCodegenTestSpec {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
public void testAllFilesPresentInP_4() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4"), Pattern.compile("^(.+)\\.kt$"), null, true);
public void testAllFilesPresentInP_2() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-2"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4/pos")
@TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-2/neg")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Neg extends AbstractBlackBoxCodegenTestSpec {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
@TestMetadata("1.1.kt")
public void test1_1() throws Exception {
runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-2/neg/1.1.kt");
}
public void testAllFilesPresentInNeg() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-2/neg"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
}
}
@TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-5")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class P_5 extends AbstractBlackBoxCodegenTestSpec {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
public void testAllFilesPresentInP_5() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-5"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-5/pos")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Pos extends AbstractBlackBoxCodegenTestSpec {
@@ -2893,11 +2919,11 @@ public class BlackBoxCodegenTestSpecGenerated extends AbstractBlackBoxCodegenTes
@TestMetadata("1.1.kt")
public void test1_1() throws Exception {
runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4/pos/1.1.kt");
runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-5/pos/1.1.kt");
}
public void testAllFilesPresentInPos() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-4/pos"), Pattern.compile("^(.+)\\.kt$"), null, true);
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/type-checking-and-containment-checking-expressions/type-checking-expression/p-5/pos"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
}
}