Implement tests map generator and refactor folder structure to spec tests linking

This commit is contained in:
victor.petukhov
2019-08-19 11:26:12 +03:00
parent 28da325a11
commit cf692fb257
217 changed files with 2827 additions and 1787 deletions
@@ -0,0 +1,21 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 3
* NUMBER: 1
* DESCRIPTION: Checking of type for Boolean values
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
true checkType { <!TYPE_MISMATCH!>check<!><Boolean?>() }
false checkType { <!TYPE_MISMATCH!>check<!><Boolean?>() }
true checkType { <!TYPE_MISMATCH!>check<!><Any?>() }
false checkType { <!TYPE_MISMATCH!>check<!><Any>() }
true checkType { <!TYPE_MISMATCH!>check<!><Nothing?>() }
false checkType { <!TYPE_MISMATCH!>check<!><Nothing>() }
}
@@ -0,0 +1,13 @@
package
public fun case_1(): kotlin.Unit
public fun </*0*/ T> checkSubtype(/*0*/ t: T): T
public fun </*0*/ E> Inv<E>.check(): kotlin.Unit
public infix fun </*0*/ T> T.checkType(/*0*/ f: Inv<T>.() -> kotlin.Unit): kotlin.Unit
public final class Inv</*0*/ T> {
public constructor Inv</*0*/ T>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,18 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 3
* NUMBER: 1
* DESCRIPTION: Checking of type for Boolean values
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
true checkType { check<Boolean>() }
false checkType { check<Boolean>() }
checkSubtype<Boolean>(true)
checkSubtype<Boolean>(false)
}
@@ -0,0 +1,13 @@
package
public fun case_1(): kotlin.Unit
public fun </*0*/ T> checkSubtype(/*0*/ t: T): T
public fun </*0*/ E> Inv<E>.check(): kotlin.Unit
public infix fun </*0*/ T> T.checkType(/*0*/ f: Inv<T>.() -> kotlin.Unit): kotlin.Unit
public final class Inv</*0*/ T> {
public constructor Inv</*0*/ T>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,18 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 3
* NUMBER: 2
* DESCRIPTION: Checking of subtype for Boolean values
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
checkSubtype<Boolean?>(true)
checkSubtype<Boolean?>(false)
checkSubtype<Any>(true)
checkSubtype<Any>(false)
}
@@ -0,0 +1,13 @@
package
public fun case_1(): kotlin.Unit
public fun </*0*/ T> checkSubtype(/*0*/ t: T): T
public fun </*0*/ E> Inv<E>.check(): kotlin.Unit
public infix fun </*0*/ T> T.checkType(/*0*/ f: Inv<T>.() -> kotlin.Unit): kotlin.Unit
public final class Inv</*0*/ T> {
public constructor Inv</*0*/ T>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,13 @@
/*
* This file is generated by {@link org.jetbrains.kotlin.spec.tasks.generateTests}. DO NOT MODIFY MANUALLY.
* This file is used in the HTML version of the Kotlin Specification (https://kotlin.github.io/kotlin-spec) to show tests coverage for sentences.
*
* Content format:
*
* {paragraphNumber}
* {testType: neg|pos}: {sentenceNumber}-{numberOfTests|testPathToAnotherSection}, ...
*/
1
neg: 3-1
pos: 3-2
@@ -0,0 +1,14 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, binary-integer-literals -> paragraph 1 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Binary integer literals with the prefix only.
*/
// TESTCASE NUMBER: 1
val value_1 = <!INT_LITERAL_OUT_OF_RANGE!>0b<!>
// TESTCASE NUMBER: 2
val value_2 = <!INT_LITERAL_OUT_OF_RANGE!>0B<!>
@@ -0,0 +1,4 @@
package
public val value_1: kotlin.Int
public val value_2: kotlin.Int
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, binary-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Binary integer literals with an underscore after the prefix.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0b_1110100000<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>0B_______11010000<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0B_1_1_0_1_0_0_0_0<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0b_<!>
@@ -0,0 +1,6 @@
package
public val value_1: kotlin.Int = 928
public val value_2: kotlin.Int = 208
public val value_3: kotlin.Int = 208
public val value_4: kotlin.Int
@@ -0,0 +1,41 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, binary-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Binary integer literals with an underscore in the first position (it's considered as identifiers).
*/
// TESTCASE NUMBER: 1
val value_1 = <!UNRESOLVED_REFERENCE!>_____0b0_1_1_1_0_1<!>
// TESTCASE NUMBER: 2
val value_2 = <!UNRESOLVED_REFERENCE!>_0B1_______1_______1_______0<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>_0_0B1_0_1_1_1_0_1_1<!>
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>_0B000000000<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>_0000000000b<!>
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>_0_1b<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>____________0b<!>
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>_0_b_0<!>
// TESTCASE NUMBER: 9
val value_9 = <!UNRESOLVED_REFERENCE!>_b_0<!>
// TESTCASE NUMBER: 10
val value_10 = <!UNRESOLVED_REFERENCE!>_b<!>
// TESTCASE NUMBER: 12
val value_12 = <!UNRESOLVED_REFERENCE!>_b_<!>
@@ -0,0 +1,13 @@
package
public val value_1: [ERROR : Type for _____0b0_1_1_1_0_1]
public val value_10: [ERROR : Type for _b]
public val value_12: [ERROR : Type for _b_]
public val value_2: [ERROR : Type for _0B1_______1_______1_______0]
public val value_3: [ERROR : Type for _0_0B1_0_1_1_1_0_1_1]
public val value_4: [ERROR : Type for _0B000000000]
public val value_5: [ERROR : Type for _0000000000b]
public val value_6: [ERROR : Type for _0_1b]
public val value_7: [ERROR : Type for ____________0b]
public val value_8: [ERROR : Type for _0_b_0]
public val value_9: [ERROR : Type for _b_0]
@@ -0,0 +1,29 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, binary-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 3
* DESCRIPTION: Binary integer literals with an underscore in the last position.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0b0_1_1_0_1_1_____<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>0B1_______1_______0_______1_<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0B000000000_<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0b_<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0B______________<!>
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_UNDERSCORE!>0B0_<!>
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_UNDERSCORE!>0B10_<!>
@@ -0,0 +1,9 @@
package
public val value_1: kotlin.Int = 27
public val value_2: kotlin.Int = 13
public val value_3: kotlin.Int = 0
public val value_4: kotlin.Int
public val value_5: kotlin.Int
public val value_6: kotlin.Int = 0
public val value_7: kotlin.Int = 2
@@ -0,0 +1,12 @@
/*
* This file is generated by {@link org.jetbrains.kotlin.spec.tasks.generateTests}. DO NOT MODIFY MANUALLY.
* This file is used in the HTML version of the Kotlin Specification (https://kotlin.github.io/kotlin-spec) to show tests coverage for sentences.
*
* Content format:
*
* {paragraphNumber}
* {testType: neg|pos}: {sentenceNumber}-{numberOfTests|testPathToAnotherSection}, ...
*/
1
neg: 2-3, 1-1
@@ -0,0 +1,23 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, decimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Integer literals with an underscore in the last position.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>1_<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>1_00000000000000000_<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>1_____________<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE!>9____________0_<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE!>1_______________________________________________________________________________________________________________________________________________________<!>
@@ -0,0 +1,7 @@
package
public val value_1: kotlin.Int = 1
public val value_2: kotlin.Long = 100000000000000000.toLong()
public val value_3: kotlin.Int = 1
public val value_4: kotlin.Int = 90
public val value_5: kotlin.Int = 1
@@ -0,0 +1,32 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, decimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Integer literals with an underscore in the first position (it's considered as identifiers).
*/
// TESTCASE NUMBER: 1
val value_1 = <!UNRESOLVED_REFERENCE!>_5678_90<!>
// TESTCASE NUMBER: 2
val value_2 = <!UNRESOLVED_REFERENCE!>_2_3_4_5_6_7_8_9_<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>_____________0000<!>
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>_______________________________________________________________________________________________________________________________________________________0<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>____________________________________________________<!>
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>_<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>_0_<!>
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>_9_<!>
@@ -0,0 +1,10 @@
package
public val value_1: [ERROR : Type for _5678_90]
public val value_2: [ERROR : Type for _2_3_4_5_6_7_8_9_]
public val value_3: [ERROR : Type for _____________0000]
public val value_4: [ERROR : Type for _______________________________________________________________________________________________________________________________________________________0]
public val value_5: [ERROR : Type for ____________________________________________________]
public val value_6: [ERROR : Type for _]
public val value_7: [ERROR : Type for _0_]
public val value_8: [ERROR : Type for _9_]
@@ -0,0 +1,12 @@
/*
* This file is generated by {@link org.jetbrains.kotlin.spec.tasks.generateTests}. DO NOT MODIFY MANUALLY.
* This file is used in the HTML version of the Kotlin Specification (https://kotlin.github.io/kotlin-spec) to show tests coverage for sentences.
*
* Content format:
*
* {paragraphNumber}
* {testType: neg|pos}: {sentenceNumber}-{numberOfTests|testPathToAnotherSection}, ...
*/
1
neg: 2-2
@@ -0,0 +1,14 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, hexadecimal-integer-literals -> paragraph 1 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Hexadecimal integer literals with the prefix only.
*/
// TESTCASE NUMBER: 1
val value_1 = <!INT_LITERAL_OUT_OF_RANGE!>0x<!>
// TESTCASE NUMBER: 2
val value_2 = <!INT_LITERAL_OUT_OF_RANGE!>0X<!>
@@ -0,0 +1,4 @@
package
public val value_1: kotlin.Int
public val value_2: kotlin.Int
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, hexadecimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Hexadecimal integer literals with an underscore after the prefix.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0x_1234567890<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>0X_______23456789<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0X_2_3_4_5_6_7_8_9<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0x_<!>
@@ -0,0 +1,6 @@
package
public val value_1: kotlin.Long = 78187493520.toLong()
public val value_2: kotlin.Int = 591751049
public val value_3: kotlin.Int = 591751049
public val value_4: kotlin.Int
@@ -0,0 +1,41 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, hexadecimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Hexadecimal integer literals with an underscore in the first position (it's considered as identifiers).
*/
// TESTCASE NUMBER: 1
val value_1 = <!UNRESOLVED_REFERENCE!>_____0x3_4_5_6_7_8<!>
// TESTCASE NUMBER: 2
val value_2 = <!UNRESOLVED_REFERENCE!>_0X4_______5_______6_______7<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>_0_0X4_3_4_5_6_7_8_9<!>
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>_0X000000000<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>_0000000000x<!>
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>_0_9x<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>____________0x<!>
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>_0_x_0<!>
// TESTCASE NUMBER: 9
val value_9 = <!UNRESOLVED_REFERENCE!>_x_0<!>
// TESTCASE NUMBER: 10
val value_10 = <!UNRESOLVED_REFERENCE!>_x<!>
// TESTCASE NUMBER: 11
val value_11 = <!UNRESOLVED_REFERENCE!>_x_<!>
@@ -0,0 +1,13 @@
package
public val value_1: [ERROR : Type for _____0x3_4_5_6_7_8]
public val value_10: [ERROR : Type for _x]
public val value_11: [ERROR : Type for _x_]
public val value_2: [ERROR : Type for _0X4_______5_______6_______7]
public val value_3: [ERROR : Type for _0_0X4_3_4_5_6_7_8_9]
public val value_4: [ERROR : Type for _0X000000000]
public val value_5: [ERROR : Type for _0000000000x]
public val value_6: [ERROR : Type for _0_9x]
public val value_7: [ERROR : Type for ____________0x]
public val value_8: [ERROR : Type for _0_x_0]
public val value_9: [ERROR : Type for _x_0]
@@ -0,0 +1,29 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, hexadecimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 3
* DESCRIPTION: Hexadecimal integer literals with an underscore in the last position.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0x3_4_5_6_7_8_____<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>0X4_______5_______6_______7_<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0X000000000_<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0x_<!>
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0X______________<!>
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_UNDERSCORE!>0X0_<!>
// TESTCASE NUMBER: 8
val value_8 = <!ILLEGAL_UNDERSCORE!>0X10_<!>
@@ -0,0 +1,9 @@
package
public val value_1: kotlin.Int = 3430008
public val value_2: kotlin.Int = 17767
public val value_3: kotlin.Int = 0
public val value_5: kotlin.Int
public val value_6: kotlin.Int
public val value_7: kotlin.Int = 0
public val value_8: kotlin.Int = 16
@@ -0,0 +1,12 @@
/*
* This file is generated by {@link org.jetbrains.kotlin.spec.tasks.generateTests}. DO NOT MODIFY MANUALLY.
* This file is used in the HTML version of the Kotlin Specification (https://kotlin.github.io/kotlin-spec) to show tests coverage for sentences.
*
* Content format:
*
* {paragraphNumber}
* {testType: neg|pos}: {sentenceNumber}-{numberOfTests|testPathToAnotherSection}, ...
*/
1
neg: 2-3, 1-1
@@ -0,0 +1,32 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Binary and hexadecimal integer literals with a long literal mark only.
*/
// TESTCASE NUMBER: 1
val value_1 = <!INT_LITERAL_OUT_OF_RANGE!>0bl<!>
// TESTCASE NUMBER: 2
val value_2 = <!INT_LITERAL_OUT_OF_RANGE!>0BL<!>
// TESTCASE NUMBER: 3
val value_3 = <!INT_LITERAL_OUT_OF_RANGE!>0Xl<!>
// TESTCASE NUMBER: 4
val value_4 = <!INT_LITERAL_OUT_OF_RANGE!>0xL<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0b_l<!>
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0B_L<!>
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0X____l<!>
// TESTCASE NUMBER: 8
val value_8 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0x_L<!>
@@ -0,0 +1,10 @@
package
public val value_1: kotlin.Int
public val value_2: kotlin.Int
public val value_3: kotlin.Int
public val value_4: kotlin.Int
public val value_5: kotlin.Int
public val value_6: kotlin.Int
public val value_7: kotlin.Int
public val value_8: kotlin.Int
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 1
* NUMBER: 2
* DESCRIPTION: Various integer literals with a not allowed underscore before the long literal mark.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0b0_<!WRONG_LONG_SUFFIX!>l<!><!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0B12_L<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0X234_<!WRONG_LONG_SUFFIX!>l<!><!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE!>0x3567_L<!>
@@ -0,0 +1,6 @@
package
public val value_1: kotlin.Long = 0.toLong()
public val value_2: kotlin.Int
public val value_3: kotlin.Long = 564.toLong()
public val value_4: kotlin.Long = 13671.toLong()
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 1
* NUMBER: 3
* DESCRIPTION: Various integer literals with not allowed long literal mark in lower case.
*/
// TESTCASE NUMBER: 1
val value_1 = 0<!WRONG_LONG_SUFFIX!>l<!>
// TESTCASE NUMBER: 2
val value_2 = 1000000000000000<!WRONG_LONG_SUFFIX!>l<!>
// TESTCASE NUMBER: 3
val value_3 = 0X0<!WRONG_LONG_SUFFIX!>l<!>
// TESTCASE NUMBER: 4
val value_4 = 0b101<!WRONG_LONG_SUFFIX!>l<!>
@@ -0,0 +1,6 @@
package
public val value_1: kotlin.Long = 0.toLong()
public val value_2: kotlin.Long = 1000000000000000.toLong()
public val value_3: kotlin.Long = 0.toLong()
public val value_4: kotlin.Long = 5.toLong()
@@ -0,0 +1,21 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Various integer literals with not allowed long literal mark in lower case (type checking).
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
10000000000000<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
0X000Af10cD<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
0x0_0<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
0b100_000_111_111<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
0b0<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
}
@@ -0,0 +1,28 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Type checking (comparison with invalid types) of various integer literals with long literal mark.
* HELPERS: checkType
*/
// 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>() }
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0L<!>)
checkSubtype<Int>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1000000L<!>)
checkSubtype<Int>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0XAf10cDL<!>)
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0x0_0L<!>)
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0b100_000_111_111L<!>)
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0b0L<!>)
}
@@ -0,0 +1,122 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 3
* DESCRIPTION: Type checking (comparison with invalid types) of various integer literals.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
0 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
0 checkType { <!TYPE_MISMATCH!>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>() }
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 { <!TYPE_MISMATCH!>check<!><Byte>() }
-128 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-128 checkType { <!TYPE_MISMATCH!>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>() }
}
// 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>() }
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>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-32768<!>)
-32768 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-32768 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-32768 checkType { <!TYPE_MISMATCH!>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>() }
}
// 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>() }
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>() }
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>() }
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>() }
}
// TESTCASE NUMBER: 5
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>() }
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>() }
}
// TESTCASE NUMBER: 6
fun case_6() {
checkSubtype<Byte>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!><!>)
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 { check<Int>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
}
@@ -0,0 +1,35 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 4
* DESCRIPTION: Type checking (comparison with invalid types) of too a big integers.
* HELPERS: checkType
*/
// 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>() }
checkSubtype<Long>(<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!>)
<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!> checkType { <!TYPE_MISMATCH!>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!>100000000000000000000000000000000l<!>)
<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Long>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!><!>)
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Long>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!><!>)
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
}
@@ -0,0 +1,68 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 5
* DESCRIPTION: Check of integer type selection depends on the context (incopatible types).
* HELPERS: checkType
*/
// FILE: functions.kt
package functions
// TESTCASE NUMBER: 1
fun f1(x1: Byte) = x1
// TESTCASE NUMBER: 2
fun f2(x1: Short) = x1
// TESTCASE NUMBER: 3, 4
fun f3(x1: Int) = x1
// FILE: main.kt
import functions.*
// TESTCASE NUMBER: 1
fun case_1() {
f1(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>128<!>)
f1(<!TYPE_MISMATCH!>-129<!>)
f1(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>32767<!>)
f1(<!TYPE_MISMATCH!>-32768<!>)
f1(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483647<!>)
f1(<!TYPE_MISMATCH!>-2147483648<!>)
f1(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
f1(<!TYPE_MISMATCH!>-9223372036854775807<!>)
f1(<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
f1(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!><!>)
}
// TESTCASE NUMBER: 2
fun case_2() {
f2(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>32768<!>)
f2(<!TYPE_MISMATCH!>-32769<!>)
f2(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483647<!>)
f2(<!TYPE_MISMATCH!>-2147483648<!>)
f2(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
f2(<!TYPE_MISMATCH!>-9223372036854775807<!>)
f2(<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
f2(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!><!>)
}
// TESTCASE NUMBER: 3
fun case_3() {
f3(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
f3(<!TYPE_MISMATCH!>-9223372036854775807<!>)
f3(<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
f3(-<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
}
// TESTCASE NUMBER: 4
fun case_4() {
f3(<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
f3(-<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
}
@@ -0,0 +1,33 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Type checking of various integer literals with long literal mark.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0L checkType { check<Long>() }
10000000000000L checkType { check<Long>() }
0X000Af10cDL checkType { check<Long>() }
0x0_0L checkType { check<Long>() }
0b100_000_111_111L checkType { check<Long>() }
0b0L checkType { check<Long>() }
}
// TESTCASE NUMBER: 2
fun case_2() {
9223372036854775807L checkType { check<Long>() }
-9223372036854775807L checkType { check<Long>() }
0X7FFFFFFFFFFFFFFFL checkType { check<Long>() }
-0x7FFFFFFFFFFFFFFFL checkType { check<Long>() }
0b111111111111111111111111111111111111111111111111111111111111111L checkType { check<Long>() }
-0B111111111111111111111111111111111111111111111111111111111111111L checkType { check<Long>() }
}
@@ -0,0 +1,92 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Type checking of decimal integer literals.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0 checkType { check<Int>() }
checkSubtype<Int>(0)
checkSubtype<Short>(0)
checkSubtype<Byte>(0)
checkSubtype<Long>(0)
}
// TESTCASE NUMBER: 2
fun case_2() {
127 checkType { check<Int>() }
checkSubtype<Int>(127)
checkSubtype<Short>(127)
checkSubtype<Byte>(127)
checkSubtype<Long>(127)
128 checkType { check<Int>() }
checkSubtype<Int>(128)
checkSubtype<Short>(128)
checkSubtype<Long>(128)
-128 checkType { check<Int>() }
checkSubtype<Int>(-128)
checkSubtype<Short>(-128)
checkSubtype<Byte>(-128)
checkSubtype<Long>(-128)
-129 checkType { check<Int>() }
checkSubtype<Int>(-129)
checkSubtype<Short>(-129)
checkSubtype<Long>(-129)
}
// TESTCASE NUMBER: 3
fun case_3() {
32767 checkType { check<Int>() }
checkSubtype<Int>(32767)
checkSubtype<Short>(32767)
checkSubtype<Long>(32767)
32768 checkType { check<Int>() }
checkSubtype<Int>(32768)
checkSubtype<Long>(32768)
-32768 checkType { check<Int>() }
checkSubtype<Int>(-32768)
checkSubtype<Short>(-32768)
checkSubtype<Long>(-32768)
-32769 checkType { check<Int>() }
checkSubtype<Int>(-32769)
checkSubtype<Long>(-32769)
}
// TESTCASE NUMBER: 4
fun case_4() {
2147483647 checkType { check<Int>() }
checkSubtype<Int>(2147483647)
checkSubtype<Long>(2147483647)
2147483648 checkType { check<Long>() }
checkSubtype<Long>(2147483648)
-2147483648 checkType { check<Int>() }
checkSubtype<Int>(-2147483648)
checkSubtype<Long>(-2147483648)
-2147483649 checkType { check<Long>() }
checkSubtype<Long>(-2147483649)
}
// TESTCASE NUMBER: 5
fun case_5() {
9223372036854775807 checkType { check<Long>() }
checkSubtype<Long>(9223372036854775807)
-9223372036854775807 checkType { check<Long>() }
checkSubtype<Long>(-9223372036854775807)
}
@@ -0,0 +1,92 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 3
* DESCRIPTION: Type checking of hexadecimal integer literals.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0x0 checkType { check<Int>() }
checkSubtype<Int>(0x0)
checkSubtype<Short>(0x0)
checkSubtype<Byte>(0x0)
checkSubtype<Long>(0x0)
}
// TESTCASE NUMBER: 2
fun case_2() {
0x7F checkType { check<Int>() }
checkSubtype<Int>(0x7F)
checkSubtype<Short>(0x7F)
checkSubtype<Byte>(0x7F)
checkSubtype<Long>(0x7F)
0X80 checkType { check<Int>() }
checkSubtype<Int>(0X80)
checkSubtype<Short>(0X80)
checkSubtype<Long>(0X80)
-0X80 checkType { check<Int>() }
checkSubtype<Int>(-0X80)
checkSubtype<Short>(-0X80)
checkSubtype<Byte>(-0X80)
checkSubtype<Long>(-0X80)
-0x81 checkType { check<Int>() }
checkSubtype<Int>(-0x81)
checkSubtype<Short>(-0x81)
checkSubtype<Long>(-0x81)
}
// TESTCASE NUMBER: 3
fun case_3() {
0x7FFF checkType { check<Int>() }
checkSubtype<Int>(0x7FFF)
checkSubtype<Short>(0x7FFF)
checkSubtype<Long>(0x7FFF)
0x8000 checkType { check<Int>() }
checkSubtype<Int>(0x8000)
checkSubtype<Long>(0x8000)
-0x8000 checkType { check<Int>() }
checkSubtype<Int>(-0x8000)
checkSubtype<Short>(-0x8000)
checkSubtype<Long>(-0x8000)
-0X8001 checkType { check<Int>() }
checkSubtype<Int>(-0X8001)
checkSubtype<Long>(-0X8001)
}
// TESTCASE NUMBER: 4
fun case_4() {
0x7FFFFFFF checkType { check<Int>() }
checkSubtype<Int>(0x7FFFFFFF)
checkSubtype<Long>(0x7FFFFFFF)
0x80000000 checkType { check<Long>() }
checkSubtype<Long>(0x80000000)
-0x80000000 checkType { check<Int>() }
checkSubtype<Int>(-0x80000000)
checkSubtype<Long>(-0x80000000)
-0x80000001 checkType { check<Long>() }
checkSubtype<Long>(-0x80000001)
}
// TESTCASE NUMBER: 5
fun case_5() {
0X7FFFFFFFFFFFFFFF checkType { check<Long>() }
checkSubtype<Long>(0X7FFFFFFFFFFFFFFF)
-0X7FFFFFFFFFFFFFFF checkType { check<Long>() }
checkSubtype<Long>(-0X7FFFFFFFFFFFFFFF)
}
@@ -0,0 +1,92 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 4
* DESCRIPTION: Type checking of binary integer literals.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0b0 checkType { check<Int>() }
checkSubtype<Int>(0b0)
checkSubtype<Short>(0b0)
checkSubtype<Byte>(0b0)
checkSubtype<Long>(0b0)
}
// TESTCASE NUMBER: 2
fun case_2() {
0B1111111 checkType { check<Int>() }
checkSubtype<Int>(0B1111111)
checkSubtype<Short>(0B1111111)
checkSubtype<Byte>(0B1111111)
checkSubtype<Long>(0B1111111)
0b10000000 checkType { check<Int>() }
checkSubtype<Int>(0b10000000)
checkSubtype<Short>(0b10000000)
checkSubtype<Long>(0b10000000)
-0B10000000 checkType { check<Int>() }
checkSubtype<Int>(-0B10000000)
checkSubtype<Short>(-0B10000000)
checkSubtype<Byte>(-0B10000000)
checkSubtype<Long>(-0B10000000)
-0b10000001 checkType { check<Int>() }
checkSubtype<Int>(-0b10000001)
checkSubtype<Short>(-0b10000001)
checkSubtype<Long>(-0b10000001)
}
// TESTCASE NUMBER: 3
fun case_3() {
0B111111111111111 checkType { check<Int>() }
checkSubtype<Int>(0B111111111111111)
checkSubtype<Short>(0B111111111111111)
checkSubtype<Long>(0B111111111111111)
0b1000000000000000 checkType { check<Int>() }
checkSubtype<Int>(0b1000000000000000)
checkSubtype<Long>(0b1000000000000000)
-0b1000000000000000 checkType { check<Int>() }
checkSubtype<Int>(-0b1000000000000000)
checkSubtype<Short>(-0b1000000000000000)
checkSubtype<Long>(-0b1000000000000000)
-0B1000000000000001 checkType { check<Int>() }
checkSubtype<Int>(-0B1000000000000001)
checkSubtype<Long>(-0B1000000000000001)
}
// TESTCASE NUMBER: 4
fun case_4() {
0b1111111111111111111111111111111 checkType { check<Int>() }
checkSubtype<Int>(0b1111111111111111111111111111111)
checkSubtype<Long>(0b1111111111111111111111111111111)
0B10000000000000000000000000000000 checkType { check<Long>() }
checkSubtype<Long>(0B10000000000000000000000000000000)
-0B10000000000000000000000000000000 checkType { check<Int>() }
checkSubtype<Int>(-0B10000000000000000000000000000000)
checkSubtype<Long>(-0B10000000000000000000000000000000)
-0b10000000000000000000000000000001 checkType { check<Long>() }
checkSubtype<Long>(-0b10000000000000000000000000000001)
}
// TESTCASE NUMBER: 5
fun case_5() {
0b111111111111111111111111111111111111111111111111111111111111111 checkType { check<Long>() }
checkSubtype<Long>(0b111111111111111111111111111111111111111111111111111111111111111)
-0B111111111111111111111111111111111111111111111111111111111111111 checkType { check<Long>() }
checkSubtype<Long>(-0B111111111111111111111111111111111111111111111111111111111111111)
}
@@ -0,0 +1,62 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 5
* DESCRIPTION: Check of integer type selection depends on the context.
* HELPERS: checkType
*/
// FILE: functions.kt
package functions
// TESTCASE NUMBER: 1
fun f1(x1: Byte, x2: Short, x3: Int, x4: Long) = x1 + x2 + x3 + x4
// TESTCASE NUMBER: 2
fun f2(x1: Short, x2: Int, x3: Long) = x1 + x2 + x3
// TESTCASE NUMBER: 3
fun f3(x1: Int, x2: Long) = x1 + x2
// TESTCASE NUMBER: 4
fun f4(x1: Long) = x1
// FILE: main.kt
import functions.*
// TESTCASE NUMBER: 1
fun case_1() {
f1(0, 0, 0, 0)
f1(127, 127, 127, 127)
f1(-128, -128, -128, -128)
}
// TESTCASE NUMBER: 2
fun case_2() {
f2(128, 128, 128)
f2(-129, -129, -129)
f2(32767, 32767, 32767)
f2(-32768, -32768, -32768)
}
// TESTCASE NUMBER: 3
fun case_3() {
f3(32768, 32768)
f3(-32769, -32769)
f3(2147483647, 2147483647)
f3(-2147483648, -2147483648)
}
// TESTCASE NUMBER: 4
fun case_4() {
f4(2147483648)
f4(-2147483649)
f4(9223372036854775807)
f4(-9223372036854775807)
}
@@ -0,0 +1,13 @@
/*
* This file is generated by {@link org.jetbrains.kotlin.spec.tasks.generateTests}. DO NOT MODIFY MANUALLY.
* This file is used in the HTML version of the Kotlin Specification (https://kotlin.github.io/kotlin-spec) to show tests coverage for sentences.
*
* Content format:
*
* {paragraphNumber}
* {testType: neg|pos}: {sentenceNumber}-{numberOfTests|testPathToAnotherSection}, ...
*/
1
neg: 2-5, 1-3
pos: 2-5
@@ -0,0 +1,28 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 1 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Real literals separeted by comments.
*/
// TESTCASE NUMBER: 1
val value_1 = 0./**/<!ILLEGAL_SELECTOR!>99901<!>
// TESTCASE NUMBER: 2
val value_2 = 2./** some doc */<!ILLEGAL_SELECTOR!>1<!>
// TESTCASE NUMBER: 3
val value_3 = 9999./** some doc *//**/<!ILLEGAL_SELECTOR!>1<!>
// TESTCASE NUMBER: 4
val value_4 = 9999./** some /** some doc */ doc */<!ILLEGAL_SELECTOR!>1<!>
// TESTCASE NUMBER: 5
val value_5 = 9999./**/
<!ILLEGAL_SELECTOR!>1<!>
// TESTCASE NUMBER: 6
val value_6 = 1000000.//0
<!ILLEGAL_SELECTOR!>0<!>
@@ -0,0 +1,8 @@
package
public val value_1: kotlin.Int = 99901
public val value_2: kotlin.Int = 1
public val value_3: kotlin.Int = 1
public val value_4: kotlin.Int = 1
public val value_5: kotlin.Int = 1
public val value_6: kotlin.Int = 0
@@ -0,0 +1,28 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 1 -> sentence 3
* NUMBER: 1
* DESCRIPTION: Real literals suffixed by f/F (float suffix) separeted by comments.
*/
// TESTCASE NUMBER: 1
val value_1 = 0./**/<!ILLEGAL_SELECTOR!>99901f<!>
// TESTCASE NUMBER: 2
val value_2 = 2./** some doc */<!ILLEGAL_SELECTOR!>1F<!>
// TESTCASE NUMBER: 3
val value_3 = 9999./** some doc *//**/<!ILLEGAL_SELECTOR!>1f<!>
// TESTCASE NUMBER: 4
val value_4 = 9999./** some /** some doc */ doc */<!ILLEGAL_SELECTOR!>1f<!>
// TESTCASE NUMBER: 5
val value_5 = 9999./**/
<!ILLEGAL_SELECTOR!>1F<!>
// TESTCASE NUMBER: 6
val value_6 = 1000000.//0
<!ILLEGAL_SELECTOR!>0F<!>
@@ -0,0 +1,8 @@
package
public val value_1: kotlin.Float = 99901.0.toFloat()
public val value_2: kotlin.Float = 1.0.toFloat()
public val value_3: kotlin.Float = 1.0.toFloat()
public val value_4: kotlin.Float = 1.0.toFloat()
public val value_5: kotlin.Float = 1.0.toFloat()
public val value_6: kotlin.Float = 0.0.toFloat()
@@ -0,0 +1,113 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 1 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Simple real literals with a different whole-number part and fraction part.
*/
// TESTCASE NUMBER: 1
val value_1 = 0.0
// TESTCASE NUMBER: 2
val value_2 = 0.00
// TESTCASE NUMBER: 3
val value_3 = 0.000
// TESTCASE NUMBER: 4
val value_4 = 0.0000
// TESTCASE NUMBER: 5
val value_5 = 00.0
// TESTCASE NUMBER: 6
val value_6 = 000.00
// TESTCASE NUMBER: 7
val value_7 = 0000.000
// TESTCASE NUMBER: 8
val value_8 = 1.0
// TESTCASE NUMBER: 9
val value_9 = 22.00
// TESTCASE NUMBER: 10
val value_10 = 333.000
// TESTCASE NUMBER: 11
val value_11 = 4444.0000
// TESTCASE NUMBER: 12
val value_12 = 55555.0
// TESTCASE NUMBER: 13
val value_13 = 666666.00
// TESTCASE NUMBER: 14
val value_14 = 7777777.000
// TESTCASE NUMBER: 15
val value_15 = 88888888.0000
// TESTCASE NUMBER: 16
val value_16 = 999999999.0
// TESTCASE NUMBER: 17
val value_17 = 0000000000.1234567890
// TESTCASE NUMBER: 18
val value_18 = 123456789.23456789
// TESTCASE NUMBER: 19
val value_19 = 2345678.345678
// TESTCASE NUMBER: 20
val value_20 = 34567.4567
// TESTCASE NUMBER: 21
val value_21 = 456.56
// TESTCASE NUMBER: 22
val value_22 = 5.65
// TESTCASE NUMBER: 23
val value_23 = 654.7654
// TESTCASE NUMBER: 24
val value_24 = 76543.876543
// TESTCASE NUMBER: 25
val value_25 = 8765432.98765432
// TESTCASE NUMBER: 26
val value_26 = 987654321.0987654321
// TESTCASE NUMBER: 27
val value_27 = 0.1111
// TESTCASE NUMBER: 28
val value_28 = 1.22222
// TESTCASE NUMBER: 29
val value_29 = 9.33333
// TESTCASE NUMBER: 30
val value_30 = 9.444444
// TESTCASE NUMBER: 31
val value_31 = 8.5555555
// TESTCASE NUMBER: 32
val value_32 = 2.66666666
// TESTCASE NUMBER: 33
val value_33 = 3.777777777
// TESTCASE NUMBER: 34
val value_34 = 7.8888888888
// TESTCASE NUMBER: 35
val value_35 = 6.99999999999
@@ -0,0 +1,37 @@
package
public val value_1: kotlin.Double = 0.0.toDouble()
public val value_10: kotlin.Double = 333.0.toDouble()
public val value_11: kotlin.Double = 4444.0.toDouble()
public val value_12: kotlin.Double = 55555.0.toDouble()
public val value_13: kotlin.Double = 666666.0.toDouble()
public val value_14: kotlin.Double = 7777777.0.toDouble()
public val value_15: kotlin.Double = 8.8888888E7.toDouble()
public val value_16: kotlin.Double = 9.99999999E8.toDouble()
public val value_17: kotlin.Double = 0.123456789.toDouble()
public val value_18: kotlin.Double = 1.234567892345679E8.toDouble()
public val value_19: kotlin.Double = 2345678.345678.toDouble()
public val value_2: kotlin.Double = 0.0.toDouble()
public val value_20: kotlin.Double = 34567.4567.toDouble()
public val value_21: kotlin.Double = 456.56.toDouble()
public val value_22: kotlin.Double = 5.65.toDouble()
public val value_23: kotlin.Double = 654.7654.toDouble()
public val value_24: kotlin.Double = 76543.876543.toDouble()
public val value_25: kotlin.Double = 8765432.98765432.toDouble()
public val value_26: kotlin.Double = 9.876543210987654E8.toDouble()
public val value_27: kotlin.Double = 0.1111.toDouble()
public val value_28: kotlin.Double = 1.22222.toDouble()
public val value_29: kotlin.Double = 9.33333.toDouble()
public val value_3: kotlin.Double = 0.0.toDouble()
public val value_30: kotlin.Double = 9.444444.toDouble()
public val value_31: kotlin.Double = 8.5555555.toDouble()
public val value_32: kotlin.Double = 2.66666666.toDouble()
public val value_33: kotlin.Double = 3.777777777.toDouble()
public val value_34: kotlin.Double = 7.8888888888.toDouble()
public val value_35: kotlin.Double = 6.99999999999.toDouble()
public val value_4: kotlin.Double = 0.0.toDouble()
public val value_5: kotlin.Double = 0.0.toDouble()
public val value_6: kotlin.Double = 0.0.toDouble()
public val value_7: kotlin.Double = 0.0.toDouble()
public val value_8: kotlin.Double = 1.0.toDouble()
public val value_9: kotlin.Double = 22.0.toDouble()
@@ -0,0 +1,44 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 1 -> sentence 1
* NUMBER: 2
* DESCRIPTION: Real literals with a many digits in a whole-number part and a fraction part (including conforms).
*/
// TESTCASE NUMBER: 1
val value_1 = 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
// TESTCASE NUMBER: 2
val value_2 = <!FLOAT_LITERAL_CONFORMS_ZERO!>0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001<!>
// TESTCASE NUMBER: 3
val value_3 = -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890
// TESTCASE NUMBER: 4
val value_4 = -<!FLOAT_LITERAL_CONFORMS_ZERO!>0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890<!>
// TESTCASE NUMBER: 5
val value_5 = -99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999.0
// TESTCASE NUMBER: 6
val value_6 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222.0<!>
// TESTCASE NUMBER: 7
val value_7 = -<!FLOAT_LITERAL_CONFORMS_INFINITY!>555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555123456785012345678501234567850123456785012345678501234567850.0<!>
// TESTCASE NUMBER: 8
val value_8 = 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
// TESTCASE NUMBER: 9
val value_9 = -44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
// TESTCASE NUMBER: 10
val value_10 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001<!>
// TESTCASE NUMBER: 12
val value_12 = -<!FLOAT_LITERAL_CONFORMS_INFINITY!>555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555123456785012345678501234567850123456785012345678501234567850.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890<!>
@@ -0,0 +1,14 @@
package
public val value_1: kotlin.Double = 1.0E-323.toDouble()
public val value_10: kotlin.Double = Infinity.toDouble()
public val value_11: kotlin.Double = Infinity.toDouble()
public val value_12: kotlin.Double = -Infinity.toDouble()
public val value_2: kotlin.Double = 0.0.toDouble()
public val value_3: kotlin.Double = -1.0E-323.toDouble()
public val value_4: kotlin.Double = -0.0.toDouble()
public val value_5: kotlin.Double = -1.0E308.toDouble()
public val value_6: kotlin.Double = Infinity.toDouble()
public val value_7: kotlin.Double = -Infinity.toDouble()
public val value_8: kotlin.Double = 3.333333333333333E307.toDouble()
public val value_9: kotlin.Double = -4.4444444444444443E307.toDouble()
@@ -0,0 +1,113 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 1 -> sentence 3
* NUMBER: 1
* DESCRIPTION: Simple real literals suffixed by f/F (the float suffix) with a different whole-number part and fraction part.
*/
// TESTCASE NUMBER: 1
val value_1 = 0.0f
// TESTCASE NUMBER: 2
val value_2 = 0.00F
// TESTCASE NUMBER: 3
val value_3 = 0.000f
// TESTCASE NUMBER: 4
val value_4 = 0.0000F
// TESTCASE NUMBER: 5
val value_5 = 00.0F
// TESTCASE NUMBER: 6
val value_6 = 000.00F
// TESTCASE NUMBER: 7
val value_7 = 0000.000f
// TESTCASE NUMBER: 8
val value_8 = 1.0F
// TESTCASE NUMBER: 9
val value_9 = 22.00f
// TESTCASE NUMBER: 10
val value_10 = 333.000f
// TESTCASE NUMBER: 11
val value_11 = 4444.0000f
// TESTCASE NUMBER: 12
val value_12 = 55555.0F
// TESTCASE NUMBER: 13
val value_13 = 666666.00F
// TESTCASE NUMBER: 14
val value_14 = 7777777.000f
// TESTCASE NUMBER: 15
val value_15 = 88888888.0000f
// TESTCASE NUMBER: 16
val value_16 = 999999999.0f
// TESTCASE NUMBER: 17
val value_17 = 0000000000.1234567890F
// TESTCASE NUMBER: 18
val value_18 = 123456789.23456789F
// TESTCASE NUMBER: 19
val value_19 = 2345678.345678F
// TESTCASE NUMBER: 20
val value_20 = 34567.4567f
// TESTCASE NUMBER: 21
val value_21 = 456.56f
// TESTCASE NUMBER: 22
val value_22 = 5.65F
// TESTCASE NUMBER: 23
val value_23 = 654.7654f
// TESTCASE NUMBER: 24
val value_24 = 76543.876543f
// TESTCASE NUMBER: 25
val value_25 = 8765432.98765432F
// TESTCASE NUMBER: 26
val value_26 = 987654321.0987654321F
// TESTCASE NUMBER: 27
val value_27 = 0.1111F
// TESTCASE NUMBER: 28
val value_28 = 1.22222f
// TESTCASE NUMBER: 29
val value_29 = 9.33333f
// TESTCASE NUMBER: 30
val value_30 = 9.444444F
// TESTCASE NUMBER: 31
val value_31 = 8.5555555f
// TESTCASE NUMBER: 32
val value_32 = 2.66666666F
// TESTCASE NUMBER: 33
val value_33 = 3.777777777f
// TESTCASE NUMBER: 34
val value_34 = 7.8888888888f
// TESTCASE NUMBER: 35
val value_35 = 6.99999999999F
@@ -0,0 +1,37 @@
package
public val value_1: kotlin.Float = 0.0.toFloat()
public val value_10: kotlin.Float = 333.0.toFloat()
public val value_11: kotlin.Float = 4444.0.toFloat()
public val value_12: kotlin.Float = 55555.0.toFloat()
public val value_13: kotlin.Float = 666666.0.toFloat()
public val value_14: kotlin.Float = 7777777.0.toFloat()
public val value_15: kotlin.Float = 8.8888888E7.toFloat()
public val value_16: kotlin.Float = 1.0E9.toFloat()
public val value_17: kotlin.Float = 0.12345679.toFloat()
public val value_18: kotlin.Float = 1.23456792E8.toFloat()
public val value_19: kotlin.Float = 2345678.2.toFloat()
public val value_2: kotlin.Float = 0.0.toFloat()
public val value_20: kotlin.Float = 34567.457.toFloat()
public val value_21: kotlin.Float = 456.56.toFloat()
public val value_22: kotlin.Float = 5.65.toFloat()
public val value_23: kotlin.Float = 654.7654.toFloat()
public val value_24: kotlin.Float = 76543.875.toFloat()
public val value_25: kotlin.Float = 8765433.0.toFloat()
public val value_26: kotlin.Float = 9.8765434E8.toFloat()
public val value_27: kotlin.Float = 0.1111.toFloat()
public val value_28: kotlin.Float = 1.22222.toFloat()
public val value_29: kotlin.Float = 9.33333.toFloat()
public val value_3: kotlin.Float = 0.0.toFloat()
public val value_30: kotlin.Float = 9.444444.toFloat()
public val value_31: kotlin.Float = 8.555555.toFloat()
public val value_32: kotlin.Float = 2.6666667.toFloat()
public val value_33: kotlin.Float = 3.7777777.toFloat()
public val value_34: kotlin.Float = 7.888889.toFloat()
public val value_35: kotlin.Float = 7.0.toFloat()
public val value_4: kotlin.Float = 0.0.toFloat()
public val value_5: kotlin.Float = 0.0.toFloat()
public val value_6: kotlin.Float = 0.0.toFloat()
public val value_7: kotlin.Float = 0.0.toFloat()
public val value_8: kotlin.Float = 1.0.toFloat()
public val value_9: kotlin.Float = 22.0.toFloat()
@@ -0,0 +1,44 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 1 -> sentence 3
* NUMBER: 2
* DESCRIPTION: Real literals suffixed by f/F (the float suffix) with a many digits in a whole-number part and a fraction part (including conforms).
*/
// TESTCASE NUMBER: 1
val value_1 = 0.000000000000000000000000000000000000000000001f
// TESTCASE NUMBER: 2
val value_2 = <!FLOAT_LITERAL_CONFORMS_ZERO!>0.0000000000000000000000000000000000000000000001f<!>
// TESTCASE NUMBER: 3
val value_3 = -0.00000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890F
// TESTCASE NUMBER: 4
val value_4 = -<!FLOAT_LITERAL_CONFORMS_ZERO!>0.0000000000000000000000000000000000000000000001f<!>
// TESTCASE NUMBER: 5
val value_5 = -99999999999999999999999999999999999999.0f
// TESTCASE NUMBER: 6
val value_6 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>2222222222222222222222222222222222222222.0f<!>
// TESTCASE NUMBER: 7
val value_7 = -<!FLOAT_LITERAL_CONFORMS_INFINITY!>555555555123456785012345678501234567850.0F<!>
// TESTCASE NUMBER: 8
val value_8 = 333333333333333333333333333333333333333.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f
// TESTCASE NUMBER: 9
val value_9 = -44444444444444444444444444444444444444.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001F
// TESTCASE NUMBER: 10
val value_10 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>777777777777777777777777777777777777777.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001F<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>888888888888888888888888888888888888888.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f<!>
// TESTCASE NUMBER: 12
val value_12 = -<!FLOAT_LITERAL_CONFORMS_INFINITY!>555555555555556785012345678501234567850.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890f<!>
@@ -0,0 +1,14 @@
package
public val value_1: kotlin.Float = 1.4E-45.toFloat()
public val value_10: kotlin.Float = Infinity.toFloat()
public val value_11: kotlin.Float = Infinity.toFloat()
public val value_12: kotlin.Float = -Infinity.toFloat()
public val value_2: kotlin.Float = 0.0.toFloat()
public val value_3: kotlin.Float = -1.4E-45.toFloat()
public val value_4: kotlin.Float = -0.0.toFloat()
public val value_5: kotlin.Float = -1.0E38.toFloat()
public val value_6: kotlin.Float = Infinity.toFloat()
public val value_7: kotlin.Float = -Infinity.toFloat()
public val value_8: kotlin.Float = 3.3333333E38.toFloat()
public val value_9: kotlin.Float = -4.4444444E37.toFloat()
@@ -0,0 +1,59 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 2 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Real literals without digits after an exponent mark.
*/
// TESTCASE NUMBER: 1
val value_1 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0.0E<!>
// TESTCASE NUMBER: 2
val value_2 = <!FLOAT_LITERAL_OUT_OF_RANGE!>00.0e<!>
// TESTCASE NUMBER: 3
val value_3 = <!FLOAT_LITERAL_OUT_OF_RANGE!>000.00e-<!>
// TESTCASE NUMBER: 4
val value_4 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0000.000E+<!>
// TESTCASE NUMBER: 5
val value_5 = <!FLOAT_LITERAL_OUT_OF_RANGE!>1.0e<!>
// TESTCASE NUMBER: 6
val value_6 = <!FLOAT_LITERAL_OUT_OF_RANGE!>22.00E+<!>
// TESTCASE NUMBER: 7
val value_7 = <!FLOAT_LITERAL_OUT_OF_RANGE!>333.000e<!>
// TESTCASE NUMBER: 8
val value_8 = <!FLOAT_LITERAL_OUT_OF_RANGE!>4444.0000E<!>
// TESTCASE NUMBER: 9
val value_9 = <!FLOAT_LITERAL_OUT_OF_RANGE!>55555.0e+<!>
// TESTCASE NUMBER: 10
val value_10 = <!FLOAT_LITERAL_OUT_OF_RANGE!>666666.00E-<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_OUT_OF_RANGE!>7777777.000e<!>
// TESTCASE NUMBER: 12
val value_12 = <!FLOAT_LITERAL_OUT_OF_RANGE!>88888888.0000e<!>
// TESTCASE NUMBER: 13
val value_13 = <!FLOAT_LITERAL_OUT_OF_RANGE!>999999999.0E-<!>
// TESTCASE NUMBER: 14
val value_14 = <!FLOAT_LITERAL_OUT_OF_RANGE!>7.888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888e+<!>
// TESTCASE NUMBER: 15
val value_15 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e<!>
// TESTCASE NUMBER: 16
val value_16 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-<!>
// TESTCASE NUMBER: 17
val value_17 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+<!>
@@ -0,0 +1,19 @@
package
public val value_1: kotlin.Double
public val value_10: kotlin.Double
public val value_11: kotlin.Double
public val value_12: kotlin.Double
public val value_13: kotlin.Double
public val value_14: kotlin.Double
public val value_15: kotlin.Double
public val value_16: kotlin.Double
public val value_17: kotlin.Double
public val value_2: kotlin.Double
public val value_3: kotlin.Double
public val value_4: kotlin.Double
public val value_5: kotlin.Double
public val value_6: kotlin.Double
public val value_7: kotlin.Double
public val value_8: kotlin.Double
public val value_9: kotlin.Double
@@ -0,0 +1,47 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 2 -> sentence 1
* NUMBER: 2
* DESCRIPTION: Real literals with a not allowed exponent mark at the beginning.
*/
// TESTCASE NUMBER: 1
val value_1 = <!UNRESOLVED_REFERENCE!>E0<!>
// TESTCASE NUMBER: 2
val value_2 = <!UNRESOLVED_REFERENCE!>e000<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!>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
// 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
// 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
// TESTCASE NUMBER: 10
val value_10 = <!UNRESOLVED_REFERENCE!>e666666<!>
// TESTCASE NUMBER: 11
val value_11 = <!UNRESOLVED_REFERENCE!>E7777777<!>
// TESTCASE NUMBER: 12
val value_12 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>-<!>88888888
// TESTCASE NUMBER: 13
val value_13 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!>999999999
@@ -0,0 +1,15 @@
package
public val value_1: [ERROR : Type for E0]
public val value_10: [ERROR : Type for e666666]
public val value_11: [ERROR : Type for E7777777]
public val value_12: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public val value_13: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public val value_2: [ERROR : Type for e000]
public val value_3: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public val value_4: [ERROR : Type for e00]
public val value_5: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public val value_6: [ERROR : Type for e22]
public val value_7: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public val value_8: [ERROR : Type for e4444]
public val value_9: [ERROR : <ERROR FUNCTION RETURN TYPE>]
@@ -0,0 +1,47 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 2 -> sentence 1
* NUMBER: 3
* DESCRIPTION: Real literals suffixed by f/F (float suffix) with a not allowed exponent mark at the beginning.
*/
// TESTCASE NUMBER: 1
val value_1 = <!UNRESOLVED_REFERENCE!>E0f<!>
// TESTCASE NUMBER: 2
val value_2 = <!UNRESOLVED_REFERENCE!>e000F<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!>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
// 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
// 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
// TESTCASE NUMBER: 10
val value_10 = <!UNRESOLVED_REFERENCE!>e666666F<!>
// TESTCASE NUMBER: 11
val value_11 = <!UNRESOLVED_REFERENCE!>E7777777f<!>
// TESTCASE NUMBER: 12
val value_12 = <!UNRESOLVED_REFERENCE!>e<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>-<!>88888888F
// TESTCASE NUMBER: 13
val value_13 = <!UNRESOLVED_REFERENCE!>E<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!>999999999F
@@ -0,0 +1,15 @@
package
public val value_1: [ERROR : Type for E0f]
public val value_10: [ERROR : Type for e666666F]
public val value_11: [ERROR : Type for E7777777f]
public val value_12: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public val value_13: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public val value_2: [ERROR : Type for e000F]
public val value_3: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public val value_4: [ERROR : Type for e00f]
public val value_5: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public val value_6: [ERROR : Type for e22F]
public val value_7: [ERROR : <ERROR FUNCTION RETURN TYPE>]
public val value_8: [ERROR : Type for e4444f]
public val value_9: [ERROR : <ERROR FUNCTION RETURN TYPE>]
@@ -0,0 +1,59 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 2 -> sentence 1
* NUMBER: 4
* DESCRIPTION: Real literals suffixed by f/F (float suffix) with an exponent mark without digits after it.
*/
// TESTCASE NUMBER: 1
val value_1 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0.0EF<!>
// TESTCASE NUMBER: 2
val value_2 = <!FLOAT_LITERAL_OUT_OF_RANGE!>00.0ef<!>
// TESTCASE NUMBER: 3
val value_3 = <!FLOAT_LITERAL_OUT_OF_RANGE!>000.00e-f<!>
// TESTCASE NUMBER: 4
val value_4 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0000.000E+F<!>
// TESTCASE NUMBER: 5
val value_5 = <!FLOAT_LITERAL_OUT_OF_RANGE!>1.0eF<!>
// TESTCASE NUMBER: 6
val value_6 = <!FLOAT_LITERAL_OUT_OF_RANGE!>22.00E+f<!>
// TESTCASE NUMBER: 7
val value_7 = <!FLOAT_LITERAL_OUT_OF_RANGE!>333.000ef<!>
// TESTCASE NUMBER: 8
val value_8 = <!FLOAT_LITERAL_OUT_OF_RANGE!>4444.0000Ef<!>
// TESTCASE NUMBER: 9
val value_9 = <!FLOAT_LITERAL_OUT_OF_RANGE!>55555.0e+F<!>
// TESTCASE NUMBER: 10
val value_10 = <!FLOAT_LITERAL_OUT_OF_RANGE!>666666.00E-F<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_OUT_OF_RANGE!>7777777.000eF<!>
// TESTCASE NUMBER: 12
val value_12 = <!FLOAT_LITERAL_OUT_OF_RANGE!>88888888.0000ef<!>
// TESTCASE NUMBER: 13
val value_13 = <!FLOAT_LITERAL_OUT_OF_RANGE!>999999999.0E-F<!>
// TESTCASE NUMBER: 14
val value_14 = <!FLOAT_LITERAL_OUT_OF_RANGE!>7.888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888e+f<!>
// TESTCASE NUMBER: 15
val value_15 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eF<!>
// TESTCASE NUMBER: 16
val value_16 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-f<!>
// TESTCASE NUMBER: 17
val value_17 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+F<!>
@@ -0,0 +1,19 @@
package
public val value_1: kotlin.Double
public val value_10: kotlin.Double
public val value_11: kotlin.Double
public val value_12: kotlin.Double
public val value_13: kotlin.Double
public val value_14: kotlin.Double
public val value_15: kotlin.Double
public val value_16: kotlin.Double
public val value_17: kotlin.Double
public val value_2: kotlin.Double
public val value_3: kotlin.Double
public val value_4: kotlin.Double
public val value_5: kotlin.Double
public val value_6: kotlin.Double
public val value_7: kotlin.Double
public val value_8: kotlin.Double
public val value_9: kotlin.Double
@@ -0,0 +1,125 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 2 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Simple real literals with an exponent mark.
*/
// TESTCASE NUMBER: 1
val value_1 = 0.0e0
// TESTCASE NUMBER: 2
val value_2 = 0.0e-00
// TESTCASE NUMBER: 3
val value_3 = 0.0E000
// TESTCASE NUMBER: 4
val value_4 = 0.0E+0000
// TESTCASE NUMBER: 5
val value_5 = 00.0e+0
// TESTCASE NUMBER: 6
val value_6 = 000.00e00
// TESTCASE NUMBER: 7
val value_7 = 0000.000E-000
// TESTCASE NUMBER: 8
val value_8 = 1.0E+1
// TESTCASE NUMBER: 9
val value_9 = 22.00e22
// TESTCASE NUMBER: 10
val value_10 = <!FLOAT_LITERAL_CONFORMS_ZERO!>333.000e-333<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>4444.0000e4444<!>
// TESTCASE NUMBER: 12
val value_12 = <!FLOAT_LITERAL_CONFORMS_ZERO!>55555.0E-55555<!>
// TESTCASE NUMBER: 13
val value_13 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>666666.00e666666<!>
// TESTCASE NUMBER: 14
val value_14 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>7777777.000E7777777<!>
// TESTCASE NUMBER: 15
val value_15 = <!FLOAT_LITERAL_CONFORMS_ZERO!>88888888.0000e-88888888<!>
// TESTCASE NUMBER: 16
val value_16 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>999999999.0E+999999999<!>
// TESTCASE NUMBER: 17
val value_17 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>0000000000.1234567890E999999999<!>
// TESTCASE NUMBER: 18
val value_18 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>123456789.23456789E+123456789<!>
// TESTCASE NUMBER: 19
val value_19 = 2345678.345678e00000000001
// TESTCASE NUMBER: 20
val value_20 = <!FLOAT_LITERAL_CONFORMS_ZERO!>34567.4567E-100000000000<!>
// TESTCASE NUMBER: 21
val value_21 = 456.56e-0
// TESTCASE NUMBER: 22
val value_22 = 5.65e000000000000
// TESTCASE NUMBER: 23
val value_23 = 654.7654E+010
// TESTCASE NUMBER: 24
val value_24 = 76543.876543E1
// TESTCASE NUMBER: 25
val value_25 = 8765432.98765432e-2
// TESTCASE NUMBER: 26
val value_26 = 987654321.0987654321E-3
// TESTCASE NUMBER: 27
val value_27 = 0.1111e4
// TESTCASE NUMBER: 28
val value_28 = 1.22222E-5
// TESTCASE NUMBER: 29
val value_29 = 9.33333e+6
// TESTCASE NUMBER: 30
val value_30 = 9.444444E7
// TESTCASE NUMBER: 31
val value_31 = 8.5555555e8
// TESTCASE NUMBER: 32
val value_32 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>2.66666666e308<!>
// TESTCASE NUMBER: 33
val value_33 = 3.777777777E-308
// TESTCASE NUMBER: 34
val value_34 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>7.8888888888e+309<!>
// TESTCASE NUMBER: 35
val value_35 = 6.99999999999e-309
// TESTCASE NUMBER: 36
val value_36 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>7.888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888e+111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111<!>
// TESTCASE NUMBER: 37
val value_37 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
// TESTCASE NUMBER: 38
val value_38 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
// TESTCASE NUMBER: 39
val value_39 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -0,0 +1,41 @@
package
public val value_1: kotlin.Double = 0.0.toDouble()
public val value_10: kotlin.Double = 0.0.toDouble()
public val value_11: kotlin.Double = Infinity.toDouble()
public val value_12: kotlin.Double = 0.0.toDouble()
public val value_13: kotlin.Double = Infinity.toDouble()
public val value_14: kotlin.Double = Infinity.toDouble()
public val value_15: kotlin.Double = 0.0.toDouble()
public val value_16: kotlin.Double = Infinity.toDouble()
public val value_17: kotlin.Double = Infinity.toDouble()
public val value_18: kotlin.Double = Infinity.toDouble()
public val value_19: kotlin.Double = 2.345678345678E7.toDouble()
public val value_2: kotlin.Double = 0.0.toDouble()
public val value_20: kotlin.Double = 0.0.toDouble()
public val value_21: kotlin.Double = 456.56.toDouble()
public val value_22: kotlin.Double = 5.65.toDouble()
public val value_23: kotlin.Double = 6.547654E12.toDouble()
public val value_24: kotlin.Double = 765438.76543.toDouble()
public val value_25: kotlin.Double = 87654.3298765432.toDouble()
public val value_26: kotlin.Double = 987654.3210987655.toDouble()
public val value_27: kotlin.Double = 1111.0.toDouble()
public val value_28: kotlin.Double = 1.22222E-5.toDouble()
public val value_29: kotlin.Double = 9333330.0.toDouble()
public val value_3: kotlin.Double = 0.0.toDouble()
public val value_30: kotlin.Double = 9.444444E7.toDouble()
public val value_31: kotlin.Double = 8.5555555E8.toDouble()
public val value_32: kotlin.Double = Infinity.toDouble()
public val value_33: kotlin.Double = 3.777777777E-308.toDouble()
public val value_34: kotlin.Double = Infinity.toDouble()
public val value_35: kotlin.Double = 6.99999999999E-309.toDouble()
public val value_36: kotlin.Double = Infinity.toDouble()
public val value_37: kotlin.Double = 0.0.toDouble()
public val value_38: kotlin.Double = 0.0.toDouble()
public val value_39: kotlin.Double = 0.0.toDouble()
public val value_4: kotlin.Double = 0.0.toDouble()
public val value_5: kotlin.Double = 0.0.toDouble()
public val value_6: kotlin.Double = 0.0.toDouble()
public val value_7: kotlin.Double = 0.0.toDouble()
public val value_8: kotlin.Double = 10.0.toDouble()
public val value_9: kotlin.Double = 2.2E23.toDouble()
@@ -0,0 +1,86 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 2 -> sentence 1
* NUMBER: 2
* DESCRIPTION: Real literals suffixed by f/F (float suffix) with an exponent mark.
*/
// TESTCASE NUMBER: 1
val value_1 = 0.0e0f
// TESTCASE NUMBER: 2
val value_2 = 0.0e-00F
// TESTCASE NUMBER: 3
val value_3 = 0.0E000F
// TESTCASE NUMBER: 4
val value_4 = 0.0E+0000f
// TESTCASE NUMBER: 5
val value_5 = 00.0e+0f
// TESTCASE NUMBER: 6
val value_6 = 000.00e00f
// TESTCASE NUMBER: 7
val value_7 = 0000.000E-000F
// TESTCASE NUMBER: 8
val value_8 = 1.0E+1F
// TESTCASE NUMBER: 9
val value_9 = 22.00e22F
// TESTCASE NUMBER: 10
val value_10 = 2345678.345678e00000000001F
// TESTCASE NUMBER: 11
val value_11 = 456.56e-0f
// TESTCASE NUMBER: 12
val value_12 = 5.65e000000000000F
// TESTCASE NUMBER: 13
val value_13 = 654.7654E+010f
// TESTCASE NUMBER: 14
val value_14 = 76543.876543E1f
// TESTCASE NUMBER: 15
val value_15 = 8765432.98765432e-2f
// TESTCASE NUMBER: 16
val value_16 = 987654321.0987654321E-3f
// TESTCASE NUMBER: 17
val value_17 = 0.1111e4f
// TESTCASE NUMBER: 18
val value_18 = 1.22222E-5F
// TESTCASE NUMBER: 19
val value_19 = 9.33333e+6F
// TESTCASE NUMBER: 20
val value_20 = 9.444444E7F
// TESTCASE NUMBER: 21
val value_21 = 8.5555555e8f
// TESTCASE NUMBER: 22
val value_22 = <!FLOAT_LITERAL_CONFORMS_ZERO!>3.777777777E-308f<!>
// TESTCASE NUMBER: 23
val value_23 = <!FLOAT_LITERAL_CONFORMS_ZERO!>6.99999999999e-309F<!>
// TESTCASE NUMBER: 24
val value_24 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f
// TESTCASE NUMBER: 25
val value_25 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F
// TESTCASE NUMBER: 26
val value_26 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f
@@ -0,0 +1,28 @@
package
public val value_1: kotlin.Float = 0.0.toFloat()
public val value_10: kotlin.Float = 2.3456784E7.toFloat()
public val value_11: kotlin.Float = 456.56.toFloat()
public val value_12: kotlin.Float = 5.65.toFloat()
public val value_13: kotlin.Float = 6.547654E12.toFloat()
public val value_14: kotlin.Float = 765438.75.toFloat()
public val value_15: kotlin.Float = 87654.33.toFloat()
public val value_16: kotlin.Float = 987654.3.toFloat()
public val value_17: kotlin.Float = 1111.0.toFloat()
public val value_18: kotlin.Float = 1.22222E-5.toFloat()
public val value_19: kotlin.Float = 9333330.0.toFloat()
public val value_2: kotlin.Float = 0.0.toFloat()
public val value_20: kotlin.Float = 9.444444E7.toFloat()
public val value_21: kotlin.Float = 8.5555552E8.toFloat()
public val value_22: kotlin.Float = 0.0.toFloat()
public val value_23: kotlin.Float = 0.0.toFloat()
public val value_24: kotlin.Float = 0.0.toFloat()
public val value_25: kotlin.Float = 0.0.toFloat()
public val value_26: kotlin.Float = 0.0.toFloat()
public val value_3: kotlin.Float = 0.0.toFloat()
public val value_4: kotlin.Float = 0.0.toFloat()
public val value_5: kotlin.Float = 0.0.toFloat()
public val value_6: kotlin.Float = 0.0.toFloat()
public val value_7: kotlin.Float = 0.0.toFloat()
public val value_8: kotlin.Float = 10.0.toFloat()
public val value_9: kotlin.Float = 2.2E23.toFloat()
@@ -0,0 +1,59 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Real literals with omitted a whole-number part and an exponent mark without digits after it.
*/
// TESTCASE NUMBER: 1
val value_1 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0E<!>
// TESTCASE NUMBER: 2
val value_2 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0e<!>
// TESTCASE NUMBER: 3
val value_3 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.00e-<!>
// TESTCASE NUMBER: 4
val value_4 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000E+<!>
// TESTCASE NUMBER: 5
val value_5 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0e<!>
// TESTCASE NUMBER: 6
val value_6 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.00E+<!>
// TESTCASE NUMBER: 7
val value_7 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000e<!>
// TESTCASE NUMBER: 8
val value_8 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0000E<!>
// TESTCASE NUMBER: 9
val value_9 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0e+<!>
// TESTCASE NUMBER: 10
val value_10 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.00E-<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000e<!>
// TESTCASE NUMBER: 12
val value_12 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0000e<!>
// TESTCASE NUMBER: 13
val value_13 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0E-<!>
// TESTCASE NUMBER: 14
val value_14 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888e+<!>
// TESTCASE NUMBER: 15
val value_15 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e<!>
// TESTCASE NUMBER: 16
val value_16 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-<!>
// TESTCASE NUMBER: 17
val value_17 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+<!>
@@ -0,0 +1,19 @@
package
public val value_1: kotlin.Double
public val value_10: kotlin.Double
public val value_11: kotlin.Double
public val value_12: kotlin.Double
public val value_13: kotlin.Double
public val value_14: kotlin.Double
public val value_15: kotlin.Double
public val value_16: kotlin.Double
public val value_17: kotlin.Double
public val value_2: kotlin.Double
public val value_3: kotlin.Double
public val value_4: kotlin.Double
public val value_5: kotlin.Double
public val value_6: kotlin.Double
public val value_7: kotlin.Double
public val value_8: kotlin.Double
public val value_9: kotlin.Double
@@ -0,0 +1,59 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 1
* NUMBER: 2
* DESCRIPTION: Real literals with omitted a whole-number part, suffixed by f/F (float suffix) followed by an exponent mark without digits.
*/
// TESTCASE NUMBER: 1
val value_1 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0EF<!>
// TESTCASE NUMBER: 2
val value_2 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0ef<!>
// TESTCASE NUMBER: 3
val value_3 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.00e-f<!>
// TESTCASE NUMBER: 4
val value_4 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000E+F<!>
// TESTCASE NUMBER: 5
val value_5 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0eF<!>
// TESTCASE NUMBER: 6
val value_6 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.00E+f<!>
// TESTCASE NUMBER: 7
val value_7 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000ef<!>
// TESTCASE NUMBER: 8
val value_8 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0000Ef<!>
// TESTCASE NUMBER: 9
val value_9 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0e+F<!>
// TESTCASE NUMBER: 10
val value_10 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.00E-F<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000eF<!>
// TESTCASE NUMBER: 12
val value_12 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0000ef<!>
// TESTCASE NUMBER: 13
val value_13 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0E-F<!>
// TESTCASE NUMBER: 14
val value_14 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888e+f<!>
// TESTCASE NUMBER: 15
val value_15 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eF<!>
// TESTCASE NUMBER: 16
val value_16 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-f<!>
// TESTCASE NUMBER: 17
val value_17 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+F<!>
@@ -0,0 +1,19 @@
package
public val value_1: kotlin.Double
public val value_10: kotlin.Double
public val value_11: kotlin.Double
public val value_12: kotlin.Double
public val value_13: kotlin.Double
public val value_14: kotlin.Double
public val value_15: kotlin.Double
public val value_16: kotlin.Double
public val value_17: kotlin.Double
public val value_2: kotlin.Double
public val value_3: kotlin.Double
public val value_4: kotlin.Double
public val value_5: kotlin.Double
public val value_6: kotlin.Double
public val value_7: kotlin.Double
public val value_8: kotlin.Double
public val value_9: kotlin.Double
@@ -0,0 +1,35 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Real literals with omitted a fraction part and an exponent mark without digits after it.
*/
// TESTCASE NUMBER: 1
val value_1 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0e<!>
// TESTCASE NUMBER: 2
val value_2 = <!FLOAT_LITERAL_OUT_OF_RANGE!>00e-<!>
// TESTCASE NUMBER: 3
val value_3 = <!FLOAT_LITERAL_OUT_OF_RANGE!>000E+<!>
// TESTCASE NUMBER: 4
val value_4 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0000e+<!>
// TESTCASE NUMBER: 5
val value_5 = <!FLOAT_LITERAL_OUT_OF_RANGE!>00000000000000000000000000000000000000E<!>
// TESTCASE NUMBER: 6
val value_6 = <!FLOAT_LITERAL_OUT_OF_RANGE!>34567E+<!>
// TESTCASE NUMBER: 7
val value_7 = <!FLOAT_LITERAL_OUT_OF_RANGE!>456e-<!>
// TESTCASE NUMBER: 8
val value_8 = <!FLOAT_LITERAL_OUT_OF_RANGE!>55555e+f<!>
// TESTCASE NUMBER: 9
val value_9 = <!FLOAT_LITERAL_OUT_OF_RANGE!>666666E-F<!>
@@ -0,0 +1,11 @@
package
public val value_1: kotlin.Double
public val value_2: kotlin.Double
public val value_3: kotlin.Double
public val value_4: kotlin.Double
public val value_5: kotlin.Double
public val value_6: kotlin.Double
public val value_7: kotlin.Double
public val value_8: kotlin.Double
public val value_9: kotlin.Double
@@ -0,0 +1,95 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Simple real literals with omitted a whole-number part.
*/
// TESTCASE NUMBER: 1
val value_1 = .0
// TESTCASE NUMBER: 2
val value_2 = .00
// TESTCASE NUMBER: 3
val value_3 = .000
// TESTCASE NUMBER: 4
val value_4 = .0000
// TESTCASE NUMBER: 5
val value_5 = .1234567890
// TESTCASE NUMBER: 6
val value_6 = .23456789
// TESTCASE NUMBER: 7
val value_7 = .345678
// TESTCASE NUMBER: 8
val value_8 = .4567
// TESTCASE NUMBER: 9
val value_9 = .56
// TESTCASE NUMBER: 10
val value_10 = .65
// TESTCASE NUMBER: 11
val value_11 = .7654
// TESTCASE NUMBER: 12
val value_12 = .876543
// TESTCASE NUMBER: 13
val value_13 = .98765432
// TESTCASE NUMBER: 14
val value_14 = .0987654321
// TESTCASE NUMBER: 15
val value_15 = .1111
// TESTCASE NUMBER: 16
val value_16 = .22222
// TESTCASE NUMBER: 17
val value_17 = .33333
// TESTCASE NUMBER: 18
val value_18 = .444444
// TESTCASE NUMBER: 19
val value_19 = .5555555
// TESTCASE NUMBER: 20
val value_20 = .66666666
// TESTCASE NUMBER: 21
val value_21 = .777777777
// TESTCASE NUMBER: 22
val value_22 = .8888888888
// TESTCASE NUMBER: 23
val value_23 = .99999999999
// TESTCASE NUMBER: 24
val value_24 = .00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
// TESTCASE NUMBER: 25
val value_25 = <!FLOAT_LITERAL_CONFORMS_ZERO!>.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001<!>
// TESTCASE NUMBER: 26
val value_26 = .0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890
// TESTCASE NUMBER: 27
val value_27 = .44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444441
// TESTCASE NUMBER: 28
val value_28 = .777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777771
// TESTCASE NUMBER: 29
val value_29 = .9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999123456789912345678991234567899123456789912345678991234567899
@@ -0,0 +1,31 @@
package
public val value_1: kotlin.Double = 0.0.toDouble()
public val value_10: kotlin.Double = 0.65.toDouble()
public val value_11: kotlin.Double = 0.7654.toDouble()
public val value_12: kotlin.Double = 0.876543.toDouble()
public val value_13: kotlin.Double = 0.98765432.toDouble()
public val value_14: kotlin.Double = 0.0987654321.toDouble()
public val value_15: kotlin.Double = 0.1111.toDouble()
public val value_16: kotlin.Double = 0.22222.toDouble()
public val value_17: kotlin.Double = 0.33333.toDouble()
public val value_18: kotlin.Double = 0.444444.toDouble()
public val value_19: kotlin.Double = 0.5555555.toDouble()
public val value_2: kotlin.Double = 0.0.toDouble()
public val value_20: kotlin.Double = 0.66666666.toDouble()
public val value_21: kotlin.Double = 0.777777777.toDouble()
public val value_22: kotlin.Double = 0.8888888888.toDouble()
public val value_23: kotlin.Double = 0.99999999999.toDouble()
public val value_24: kotlin.Double = 1.0E-323.toDouble()
public val value_25: kotlin.Double = 0.0.toDouble()
public val value_26: kotlin.Double = 1.0E-323.toDouble()
public val value_27: kotlin.Double = 0.4444444444444444.toDouble()
public val value_28: kotlin.Double = 0.7777777777777778.toDouble()
public val value_29: kotlin.Double = 1.0.toDouble()
public val value_3: kotlin.Double = 0.0.toDouble()
public val value_4: kotlin.Double = 0.0.toDouble()
public val value_5: kotlin.Double = 0.123456789.toDouble()
public val value_6: kotlin.Double = 0.23456789.toDouble()
public val value_7: kotlin.Double = 0.345678.toDouble()
public val value_8: kotlin.Double = 0.4567.toDouble()
public val value_9: kotlin.Double = 0.56.toDouble()
@@ -0,0 +1,98 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 1
* NUMBER: 2
* DESCRIPTION: Real literals with omitted a whole-number part and an exponent mark.
*/
// TESTCASE NUMBER: 1
val value_1 = .0e0
// TESTCASE NUMBER: 2
val value_2 = .0e-00
// TESTCASE NUMBER: 3
val value_3 = .0E000
// TESTCASE NUMBER: 4
val value_4 = .0E+0000
// TESTCASE NUMBER: 5
val value_5 = .0e+0
// TESTCASE NUMBER: 6
val value_6 = .00e00
// TESTCASE NUMBER: 7
val value_7 = .000E-000
// TESTCASE NUMBER: 8
val value_8 = .0E+1
// TESTCASE NUMBER: 9
val value_9 = .00e22
// TESTCASE NUMBER: 10
val value_10 = .000e-333
// TESTCASE NUMBER: 12
val value_12 = .0E-55555
// TESTCASE NUMBER: 15
val value_15 = .0000e-88888888
// TESTCASE NUMBER: 19
val value_19 = .345678e00000000001
// TESTCASE NUMBER: 20
val value_20 = <!FLOAT_LITERAL_CONFORMS_ZERO!>.4567E-100000000000<!>
// TESTCASE NUMBER: 21
val value_21 = .56e-0
// TESTCASE NUMBER: 22
val value_22 = .65e000000000000
// TESTCASE NUMBER: 23
val value_23 = .7654E+010
// TESTCASE NUMBER: 24
val value_24 = .876543E1
// TESTCASE NUMBER: 25
val value_25 = .98765432e-2
// TESTCASE NUMBER: 26
val value_26 = .0987654321E-3
// TESTCASE NUMBER: 27
val value_27 = .1111e4
// TESTCASE NUMBER: 28
val value_28 = .22222E-5
// TESTCASE NUMBER: 29
val value_29 = .33333e+6
// TESTCASE NUMBER: 30
val value_30 = .444444E7
// TESTCASE NUMBER: 31
val value_31 = .5555555e8
// TESTCASE NUMBER: 33
val value_33 = .777777777E-308
// TESTCASE NUMBER: 35
val value_35 = .99999999999e-309
// TESTCASE NUMBER: 37
val value_37 = .000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
// TESTCASE NUMBER: 38
val value_38 = .000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
// TESTCASE NUMBER: 39
val value_39 = .000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -0,0 +1,32 @@
package
public val value_1: kotlin.Double = 0.0.toDouble()
public val value_10: kotlin.Double = 0.0.toDouble()
public val value_12: kotlin.Double = 0.0.toDouble()
public val value_15: kotlin.Double = 0.0.toDouble()
public val value_19: kotlin.Double = 3.45678.toDouble()
public val value_2: kotlin.Double = 0.0.toDouble()
public val value_20: kotlin.Double = 0.0.toDouble()
public val value_21: kotlin.Double = 0.56.toDouble()
public val value_22: kotlin.Double = 0.65.toDouble()
public val value_23: kotlin.Double = 7.654E9.toDouble()
public val value_24: kotlin.Double = 8.76543.toDouble()
public val value_25: kotlin.Double = 0.0098765432.toDouble()
public val value_26: kotlin.Double = 9.87654321E-5.toDouble()
public val value_27: kotlin.Double = 1111.0.toDouble()
public val value_28: kotlin.Double = 2.2222E-6.toDouble()
public val value_29: kotlin.Double = 333330.0.toDouble()
public val value_3: kotlin.Double = 0.0.toDouble()
public val value_30: kotlin.Double = 4444440.0.toDouble()
public val value_31: kotlin.Double = 5.555555E7.toDouble()
public val value_33: kotlin.Double = 7.77777777E-309.toDouble()
public val value_35: kotlin.Double = 9.9999999999E-310.toDouble()
public val value_37: kotlin.Double = 0.0.toDouble()
public val value_38: kotlin.Double = 0.0.toDouble()
public val value_39: kotlin.Double = 0.0.toDouble()
public val value_4: kotlin.Double = 0.0.toDouble()
public val value_5: kotlin.Double = 0.0.toDouble()
public val value_6: kotlin.Double = 0.0.toDouble()
public val value_7: kotlin.Double = 0.0.toDouble()
public val value_8: kotlin.Double = 0.0.toDouble()
public val value_9: kotlin.Double = 0.0.toDouble()
@@ -0,0 +1,28 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 1
* NUMBER: 3
* DESCRIPTION: Real literals separeted by comments with omitted a whole-number part.
*/
// TESTCASE NUMBER: 1
val value_1 = /**/.99901
// TESTCASE NUMBER: 2
val value_2 = /** some doc */.1f
// TESTCASE NUMBER: 3
val value_3 = /** some doc *//**/.1
// TESTCASE NUMBER: 4
val value_4 = /** some /** some doc */ doc */.1e1
// TESTCASE NUMBER: 5
val value_5 = /**/
.1F
// TESTCASE NUMBER: 6
val value_6 = //0
.0
@@ -0,0 +1,8 @@
package
public val value_1: kotlin.Double = 0.99901.toDouble()
public val value_2: kotlin.Float = 0.1.toFloat()
public val value_3: kotlin.Double = 0.1.toDouble()
public val value_4: kotlin.Double = 1.0.toDouble()
public val value_5: kotlin.Float = 0.1.toFloat()
public val value_6: kotlin.Double = 0.0.toDouble()
@@ -0,0 +1,77 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 1
* NUMBER: 4
* DESCRIPTION: Real literals suffixed by f/F (float suffix) with omitted a whole-number part.
*/
// TESTCASE NUMBER: 1
val value_1 = .0F
// TESTCASE NUMBER: 2
val value_2 = .00F
// TESTCASE NUMBER: 3
val value_3 = .000F
// TESTCASE NUMBER: 4
val value_4 = .0000f
// TESTCASE NUMBER: 5
val value_5 = .1234567890f
// TESTCASE NUMBER: 6
val value_6 = .23456789f
// TESTCASE NUMBER: 7
val value_7 = .345678F
// TESTCASE NUMBER: 8
val value_8 = .4567f
// TESTCASE NUMBER: 9
val value_9 = .56F
// TESTCASE NUMBER: 10
val value_10 = .65F
// TESTCASE NUMBER: 11
val value_11 = .7654f
// TESTCASE NUMBER: 12
val value_12 = .876543f
// TESTCASE NUMBER: 13
val value_13 = .98765432F
// TESTCASE NUMBER: 14
val value_14 = .0987654321f
// TESTCASE NUMBER: 15
val value_15 = .1111f
// TESTCASE NUMBER: 16
val value_16 = .22222f
// TESTCASE NUMBER: 17
val value_17 = .33333F
// TESTCASE NUMBER: 18
val value_18 = .444444F
// TESTCASE NUMBER: 19
val value_19 = .5555555F
// TESTCASE NUMBER: 20
val value_20 = .66666666F
// TESTCASE NUMBER: 21
val value_21 = .777777777F
// TESTCASE NUMBER: 22
val value_22 = .8888888888f
// TESTCASE NUMBER: 23
val value_23 = .99999999999f
@@ -0,0 +1,25 @@
package
public val value_1: kotlin.Float = 0.0.toFloat()
public val value_10: kotlin.Float = 0.65.toFloat()
public val value_11: kotlin.Float = 0.7654.toFloat()
public val value_12: kotlin.Float = 0.876543.toFloat()
public val value_13: kotlin.Float = 0.9876543.toFloat()
public val value_14: kotlin.Float = 0.09876543.toFloat()
public val value_15: kotlin.Float = 0.1111.toFloat()
public val value_16: kotlin.Float = 0.22222.toFloat()
public val value_17: kotlin.Float = 0.33333.toFloat()
public val value_18: kotlin.Float = 0.444444.toFloat()
public val value_19: kotlin.Float = 0.5555555.toFloat()
public val value_2: kotlin.Float = 0.0.toFloat()
public val value_20: kotlin.Float = 0.6666667.toFloat()
public val value_21: kotlin.Float = 0.7777778.toFloat()
public val value_22: kotlin.Float = 0.8888889.toFloat()
public val value_23: kotlin.Float = 1.0.toFloat()
public val value_3: kotlin.Float = 0.0.toFloat()
public val value_4: kotlin.Float = 0.0.toFloat()
public val value_5: kotlin.Float = 0.12345679.toFloat()
public val value_6: kotlin.Float = 0.2345679.toFloat()
public val value_7: kotlin.Float = 0.345678.toFloat()
public val value_8: kotlin.Float = 0.4567.toFloat()
public val value_9: kotlin.Float = 0.56.toFloat()
@@ -0,0 +1,86 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 1
* NUMBER: 5
* DESCRIPTION: Real literals suffixed by f/F (float suffix) with omitted a whole-number part and an exponent mark.
*/
// TESTCASE NUMBER: 1
val value_1 = .0e0f
// TESTCASE NUMBER: 2
val value_2 = .0e-00F
// TESTCASE NUMBER: 3
val value_3 = .0E000F
// TESTCASE NUMBER: 4
val value_4 = .0E+0000f
// TESTCASE NUMBER: 5
val value_5 = .0e+0f
// TESTCASE NUMBER: 6
val value_6 = .00e00f
// TESTCASE NUMBER: 7
val value_7 = .000E-000F
// TESTCASE NUMBER: 8
val value_8 = .0E+1F
// TESTCASE NUMBER: 9
val value_9 = .00e22F
// TESTCASE NUMBER: 10
val value_10 = .345678e00000000001F
// TESTCASE NUMBER: 11
val value_11 = .56e-0f
// TESTCASE NUMBER: 12
val value_12 = .65e000000000000F
// TESTCASE NUMBER: 13
val value_13 = .7654E+010f
// TESTCASE NUMBER: 14
val value_14 = .876543E1f
// TESTCASE NUMBER: 15
val value_15 = .98765432e-2f
// TESTCASE NUMBER: 16
val value_16 = .0987654321E-3f
// TESTCASE NUMBER: 17
val value_17 = .1111e4f
// TESTCASE NUMBER: 18
val value_18 = .22222E-5F
// TESTCASE NUMBER: 19
val value_19 = .33333e+6F
// TESTCASE NUMBER: 20
val value_20 = .444444E7F
// TESTCASE NUMBER: 21
val value_21 = .5555555e8f
// TESTCASE NUMBER: 22
val value_22 = <!FLOAT_LITERAL_CONFORMS_ZERO!>.777777777E-308f<!>
// TESTCASE NUMBER: 23
val value_23 = <!FLOAT_LITERAL_CONFORMS_ZERO!>.99999999999e-309F<!>
// TESTCASE NUMBER: 24
val value_24 = .000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f
// TESTCASE NUMBER: 25
val value_25 = .000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F
// TESTCASE NUMBER: 26
val value_26 = .000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f
@@ -0,0 +1,28 @@
package
public val value_1: kotlin.Float = 0.0.toFloat()
public val value_10: kotlin.Float = 3.45678.toFloat()
public val value_11: kotlin.Float = 0.56.toFloat()
public val value_12: kotlin.Float = 0.65.toFloat()
public val value_13: kotlin.Float = 7.6540001E9.toFloat()
public val value_14: kotlin.Float = 8.76543.toFloat()
public val value_15: kotlin.Float = 0.009876544.toFloat()
public val value_16: kotlin.Float = 9.8765435E-5.toFloat()
public val value_17: kotlin.Float = 1111.0.toFloat()
public val value_18: kotlin.Float = 2.2222E-6.toFloat()
public val value_19: kotlin.Float = 333330.0.toFloat()
public val value_2: kotlin.Float = 0.0.toFloat()
public val value_20: kotlin.Float = 4444440.0.toFloat()
public val value_21: kotlin.Float = 5.5555552E7.toFloat()
public val value_22: kotlin.Float = 0.0.toFloat()
public val value_23: kotlin.Float = 0.0.toFloat()
public val value_24: kotlin.Float = 0.0.toFloat()
public val value_25: kotlin.Float = 0.0.toFloat()
public val value_26: kotlin.Float = 0.0.toFloat()
public val value_3: kotlin.Float = 0.0.toFloat()
public val value_4: kotlin.Float = 0.0.toFloat()
public val value_5: kotlin.Float = 0.0.toFloat()
public val value_6: kotlin.Float = 0.0.toFloat()
public val value_7: kotlin.Float = 0.0.toFloat()
public val value_8: kotlin.Float = 0.0.toFloat()
public val value_9: kotlin.Float = 0.0.toFloat()
@@ -0,0 +1,83 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Simple real literals with omitted a fraction part, suffixed by f/F (float suffix).
*/
// TESTCASE NUMBER: 1
val value_1 = 0F
// TESTCASE NUMBER: 2
val value_2 = 00F
// TESTCASE NUMBER: 3
val value_3 = 000f
// TESTCASE NUMBER: 4
val value_4 = 0000F
// TESTCASE NUMBER: 5
val value_5 = 00000000000000000000000000000000000000f
// TESTCASE NUMBER: 6
val value_6 = 1f
// TESTCASE NUMBER: 7
val value_7 = 22f
// TESTCASE NUMBER: 8
val value_8 = 333F
// TESTCASE NUMBER: 9
val value_9 = 4444f
// TESTCASE NUMBER: 10
val value_10 = 55555F
// TESTCASE NUMBER: 11
val value_11 = 666666f
// TESTCASE NUMBER: 12
val value_12 = 7777777f
// TESTCASE NUMBER: 13
val value_13 = 88888888F
// TESTCASE NUMBER: 14
val value_14 = 999999999F
// TESTCASE NUMBER: 15
val value_15 = 123456789f
// TESTCASE NUMBER: 16
val value_16 = 2345678F
// TESTCASE NUMBER: 17
val value_17 = 34567F
// TESTCASE NUMBER: 18
val value_18 = 456F
// TESTCASE NUMBER: 19
val value_19 = 5f
// TESTCASE NUMBER: 20
val value_20 = 654F
// TESTCASE NUMBER: 21
val value_21 = 76543F
// TESTCASE NUMBER: 22
val value_22 = 8765432f
// TESTCASE NUMBER: 23
val value_23 = 987654321F
// TESTCASE NUMBER: 24
val value_24 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111F<!>
// TESTCASE NUMBER: 25
val value_25 = <!FLOAT_LITERAL_CONFORMS_ZERO!>0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f<!>
@@ -0,0 +1,27 @@
package
public val value_1: kotlin.Float = 0.0.toFloat()
public val value_10: kotlin.Float = 55555.0.toFloat()
public val value_11: kotlin.Float = 666666.0.toFloat()
public val value_12: kotlin.Float = 7777777.0.toFloat()
public val value_13: kotlin.Float = 8.8888888E7.toFloat()
public val value_14: kotlin.Float = 1.0E9.toFloat()
public val value_15: kotlin.Float = 1.23456792E8.toFloat()
public val value_16: kotlin.Float = 2345678.0.toFloat()
public val value_17: kotlin.Float = 34567.0.toFloat()
public val value_18: kotlin.Float = 456.0.toFloat()
public val value_19: kotlin.Float = 5.0.toFloat()
public val value_2: kotlin.Float = 0.0.toFloat()
public val value_20: kotlin.Float = 654.0.toFloat()
public val value_21: kotlin.Float = 76543.0.toFloat()
public val value_22: kotlin.Float = 8765432.0.toFloat()
public val value_23: kotlin.Float = 9.8765434E8.toFloat()
public val value_24: kotlin.Float = Infinity.toFloat()
public val value_25: kotlin.Float = 0.0.toFloat()
public val value_3: kotlin.Float = 0.0.toFloat()
public val value_4: kotlin.Float = 0.0.toFloat()
public val value_5: kotlin.Float = 0.0.toFloat()
public val value_6: kotlin.Float = 1.0.toFloat()
public val value_7: kotlin.Float = 22.0.toFloat()
public val value_8: kotlin.Float = 333.0.toFloat()
public val value_9: kotlin.Float = 4444.0.toFloat()
@@ -0,0 +1,77 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Real literals with omitted a fraction part and an exponent mark.
*/
// TESTCASE NUMBER: 1
val value_1 = 0e0
// TESTCASE NUMBER: 2
val value_2 = 00e00
// TESTCASE NUMBER: 3
val value_3 = 000E-10
// TESTCASE NUMBER: 4
val value_4 = 0000e+00000000000
// TESTCASE NUMBER: 5
val value_5 = 00000000000000000000000000000000000000E1
// TESTCASE NUMBER: 6
val value_6 = 1e1
// TESTCASE NUMBER: 7
val value_7 = 22E-1
// TESTCASE NUMBER: 8
val value_8 = 333e-00000000000
// TESTCASE NUMBER: 9
val value_9 = <!FLOAT_LITERAL_CONFORMS_ZERO!>4444E-99999999999999999<!>
// TESTCASE NUMBER: 10
val value_10 = 55555e10
// TESTCASE NUMBER: 11
val value_11 = 666666E00010
// TESTCASE NUMBER: 12
val value_12 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>7777777e09090909090<!>
// TESTCASE NUMBER: 13
val value_13 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>88888888e1234567890<!>
// TESTCASE NUMBER: 14
val value_14 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>999999999E1234567890<!>
// TESTCASE NUMBER: 15
val value_15 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>123456789e987654321<!>
// TESTCASE NUMBER: 16
val value_16 = 2345678E0
// TESTCASE NUMBER: 17
val value_17 = 34567E+010
// TESTCASE NUMBER: 18
val value_18 = <!FLOAT_LITERAL_CONFORMS_ZERO!>456e-09876543210<!>
// TESTCASE NUMBER: 19
val value_19 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>5e505<!>
// TESTCASE NUMBER: 20
val value_20 = 654e5
// TESTCASE NUMBER: 21
val value_21 = <!FLOAT_LITERAL_CONFORMS_ZERO!>76543E-91823<!>
// TESTCASE NUMBER: 22
val value_22 = 8765432e+90
// TESTCASE NUMBER: 23
val value_23 = 987654321e-1
@@ -0,0 +1,25 @@
package
public val value_1: kotlin.Double = 0.0.toDouble()
public val value_10: kotlin.Double = 5.5555E14.toDouble()
public val value_11: kotlin.Double = 6.66666E15.toDouble()
public val value_12: kotlin.Double = Infinity.toDouble()
public val value_13: kotlin.Double = Infinity.toDouble()
public val value_14: kotlin.Double = Infinity.toDouble()
public val value_15: kotlin.Double = Infinity.toDouble()
public val value_16: kotlin.Double = 2345678.0.toDouble()
public val value_17: kotlin.Double = 3.4567E14.toDouble()
public val value_18: kotlin.Double = 0.0.toDouble()
public val value_19: kotlin.Double = Infinity.toDouble()
public val value_2: kotlin.Double = 0.0.toDouble()
public val value_20: kotlin.Double = 6.54E7.toDouble()
public val value_21: kotlin.Double = 0.0.toDouble()
public val value_22: kotlin.Double = 8.765432E96.toDouble()
public val value_23: kotlin.Double = 9.87654321E7.toDouble()
public val value_3: kotlin.Double = 0.0.toDouble()
public val value_4: kotlin.Double = 0.0.toDouble()
public val value_5: kotlin.Double = 0.0.toDouble()
public val value_6: kotlin.Double = 10.0.toDouble()
public val value_7: kotlin.Double = 2.2.toDouble()
public val value_8: kotlin.Double = 333.0.toDouble()
public val value_9: kotlin.Double = 0.0.toDouble()
@@ -0,0 +1,77 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 2
* NUMBER: 3
* DESCRIPTION: Real literals with omitted a fraction part and an exponent mark, suffixed by f/F (float suffix).
*/
// TESTCASE NUMBER: 1
val value_1 = 0e0f
// TESTCASE NUMBER: 2
val value_2 = 00e00F
// TESTCASE NUMBER: 3
val value_3 = 000E-10f
// TESTCASE NUMBER: 4
val value_4 = 0000e+00000000000f
// TESTCASE NUMBER: 5
val value_5 = 00000000000000000000000000000000000000E1F
// TESTCASE NUMBER: 6
val value_6 = 1e1F
// TESTCASE NUMBER: 7
val value_7 = 22E-1f
// TESTCASE NUMBER: 8
val value_8 = 333e-00000000000F
// TESTCASE NUMBER: 9
val value_9 = <!FLOAT_LITERAL_CONFORMS_ZERO!>4444E-99999999999999999f<!>
// TESTCASE NUMBER: 10
val value_10 = 55555e10f
// TESTCASE NUMBER: 11
val value_11 = 666666E00010F
// TESTCASE NUMBER: 12
val value_12 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>7777777e09090909090F<!>
// TESTCASE NUMBER: 13
val value_13 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>88888888e1234567890F<!>
// TESTCASE NUMBER: 14
val value_14 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>999999999E1234567890f<!>
// TESTCASE NUMBER: 15
val value_15 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>123456789e987654321F<!>
// TESTCASE NUMBER: 16
val value_16 = 2345678E0f
// TESTCASE NUMBER: 17
val value_17 = 34567E+010f
// TESTCASE NUMBER: 18
val value_18 = <!FLOAT_LITERAL_CONFORMS_ZERO!>456e-09876543210F<!>
// TESTCASE NUMBER: 19
val value_19 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>5e505f<!>
// TESTCASE NUMBER: 20
val value_20 = 654e5F
// TESTCASE NUMBER: 21
val value_21 = <!FLOAT_LITERAL_CONFORMS_ZERO!>76543E-91823f<!>
// TESTCASE NUMBER: 22
val value_22 = <!FLOAT_LITERAL_CONFORMS_INFINITY!>8765432e+90F<!>
// TESTCASE NUMBER: 23
val value_23 = 987654321e-1f
@@ -0,0 +1,25 @@
package
public val value_1: kotlin.Float = 0.0.toFloat()
public val value_10: kotlin.Float = 5.55549993E14.toFloat()
public val value_11: kotlin.Float = 6.66666E15.toFloat()
public val value_12: kotlin.Float = Infinity.toFloat()
public val value_13: kotlin.Float = Infinity.toFloat()
public val value_14: kotlin.Float = Infinity.toFloat()
public val value_15: kotlin.Float = Infinity.toFloat()
public val value_16: kotlin.Float = 2345678.0.toFloat()
public val value_17: kotlin.Float = 3.45670007E14.toFloat()
public val value_18: kotlin.Float = 0.0.toFloat()
public val value_19: kotlin.Float = Infinity.toFloat()
public val value_2: kotlin.Float = 0.0.toFloat()
public val value_20: kotlin.Float = 6.54E7.toFloat()
public val value_21: kotlin.Float = 0.0.toFloat()
public val value_22: kotlin.Float = Infinity.toFloat()
public val value_23: kotlin.Float = 9.8765432E7.toFloat()
public val value_3: kotlin.Float = 0.0.toFloat()
public val value_4: kotlin.Float = 0.0.toFloat()
public val value_5: kotlin.Float = 0.0.toFloat()
public val value_6: kotlin.Float = 10.0.toFloat()
public val value_7: kotlin.Float = 2.2.toFloat()
public val value_8: kotlin.Float = 333.0.toFloat()
public val value_9: kotlin.Float = 0.0.toFloat()
@@ -0,0 +1,53 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 4 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Real literals without digits after an exponent mark and with undescores in the different pisitions.
*/
// TESTCASE NUMBER: 1
val value_1 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0_0e-<!>
// TESTCASE NUMBER: 2
val value_2 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0_0___0E+<!>
// TESTCASE NUMBER: 3
val value_3 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0_0e-F<!>
// TESTCASE NUMBER: 4
val value_4 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0__________________________0E+<!>
// TESTCASE NUMBER: 5
val value_5 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0_00e<!>
// TESTCASE NUMBER: 6
val value_6 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0_0__0___0E<!>
// TESTCASE NUMBER: 7
val value_7 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0_1e+f<!>
// TESTCASE NUMBER: 8
val value_8 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0_0E-<!>
// TESTCASE NUMBER: 9
val value_9 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0___0__0e<!>
// TESTCASE NUMBER: 10
val value_10 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0_00_0ef<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.0_5E-F<!>
// TESTCASE NUMBER: 12
val value_12 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.8____8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888_____8888888888888888888e+f<!>
// TESTCASE NUMBER: 13
val value_13 = <!FLOAT_LITERAL_OUT_OF_RANGE!>0_0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000_0eF<!>
// TESTCASE NUMBER: 14
val value_14 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_e-f<!>
// TESTCASE NUMBER: 15
val value_15 = <!FLOAT_LITERAL_OUT_OF_RANGE!>.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+<!>
@@ -0,0 +1,17 @@
package
public val value_1: kotlin.Double
public val value_10: kotlin.Double
public val value_11: kotlin.Double
public val value_12: kotlin.Double
public val value_13: kotlin.Double
public val value_14: kotlin.Double
public val value_15: kotlin.Double
public val value_2: kotlin.Double
public val value_3: kotlin.Double
public val value_4: kotlin.Double
public val value_5: kotlin.Double
public val value_6: kotlin.Double
public val value_7: kotlin.Double
public val value_8: kotlin.Double
public val value_9: kotlin.Double
@@ -0,0 +1,53 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 4 -> sentence 1
* NUMBER: 2
* DESCRIPTION: Real literals with underscores at the end.
*/
// TESTCASE NUMBER: 1
val value_1= <!ILLEGAL_UNDERSCORE!>.0_0e-0___<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>0_0___0E+10_<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>.0_0e-0_F<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE!>0__________________________0E+3___<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE!>0_00e1_<!>
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_UNDERSCORE!>.0_0__0___0E0_______________<!>
// TESTCASE NUMBER: 7
val value_7 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>0_1e+100_____f<!>
// TESTCASE NUMBER: 8
val value_8 = <!ILLEGAL_UNDERSCORE!>.0_0E-0001___<!>
// TESTCASE NUMBER: 9
val value_9 = <!ILLEGAL_UNDERSCORE!>0___0__0e4___<!>
// TESTCASE NUMBER: 10
val value_10 = <!ILLEGAL_UNDERSCORE!>0_00_0e99_f<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_CONFORMS_ZERO, ILLEGAL_UNDERSCORE!>.0_5E-93_______F<!>
// TESTCASE NUMBER: 12
val value_12 = <!ILLEGAL_UNDERSCORE!>.8____8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888_____8888888888888888888e+5_f<!>
// TESTCASE NUMBER: 13
val value_13 = <!ILLEGAL_UNDERSCORE!>0_0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000_0e40_F<!>
// TESTCASE NUMBER: 14
val value_14 = <!ILLEGAL_UNDERSCORE!>0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_e-10_f<!>
// TESTCASE NUMBER: 15
val value_15 = <!ILLEGAL_UNDERSCORE!>.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+75_<!>
@@ -0,0 +1,17 @@
package
public val value_1: kotlin.Double = 0.0.toDouble()
public val value_10: kotlin.Float = 0.0.toFloat()
public val value_11: kotlin.Float = 0.0.toFloat()
public val value_12: kotlin.Float = 88888.89.toFloat()
public val value_13: kotlin.Float = 0.0.toFloat()
public val value_14: kotlin.Float = 0.0.toFloat()
public val value_15: kotlin.Double = 0.0.toDouble()
public val value_2: kotlin.Double = 0.0.toDouble()
public val value_3: kotlin.Float = 0.0.toFloat()
public val value_4: kotlin.Double = 0.0.toDouble()
public val value_5: kotlin.Double = 0.0.toDouble()
public val value_6: kotlin.Double = 0.0.toDouble()
public val value_7: kotlin.Float = Infinity.toFloat()
public val value_8: kotlin.Double = 0.0.toDouble()
public val value_9: kotlin.Double = 0.0.toDouble()
@@ -0,0 +1,50 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 4 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Real literals with underscores before an exponent mark.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0_E0<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>1.1_E2<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>.0__0_e-0___0<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE!>0__0.0_____e0f<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE!>9_______9______9_____9____9___9__9_9.0___E-1<!>
// TESTCASE NUMBER: 6
val value_6 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>0_0_0_0_0_0_0_0_0_0.12345678___e+90F<!>
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_UNDERSCORE!>1_2_3_4_5_6_7_8_9.2_3_4_5_6_7_8_9_e-0<!>
// TESTCASE NUMBER: 8
val value_8 = <!ILLEGAL_UNDERSCORE!>456.5__e0_6<!>
// TESTCASE NUMBER: 9
val value_9 = <!ILLEGAL_UNDERSCORE!>5.6_0_E+05F<!>
// TESTCASE NUMBER: 10
val value_10 = <!ILLEGAL_UNDERSCORE!>6_54.76_5__e-4<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_CONFORMS_ZERO, ILLEGAL_UNDERSCORE!>9_____________87654321.0__e-9_8765432_____________1F<!>
// TESTCASE NUMBER: 12
val value_12 = <!ILLEGAL_UNDERSCORE!>000000000000000000000000000000000000000000000000000000000000000000000000000000000000000___0.000000000000000000000000_e000000000000000000000000000000000000000000000000000000000000000_0F<!>
// TESTCASE NUMBER: 13
val value_13 = <!ILLEGAL_UNDERSCORE!>0_000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0____E-0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<!>
// TESTCASE NUMBER: 14
val value_14 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>9999999999999999999999999999999999999999999_______________999999999999999999999999999999999999999999999.33333333333333333333333333333333333333333333333_333333333333333333333333333333333333333_e3_3f<!>
@@ -0,0 +1,16 @@
package
public val value_1: kotlin.Double = 0.0.toDouble()
public val value_10: kotlin.Double = 0.0654765.toDouble()
public val value_11: kotlin.Float = 0.0.toFloat()
public val value_12: kotlin.Float = 0.0.toFloat()
public val value_13: kotlin.Double = 0.0.toDouble()
public val value_14: kotlin.Float = Infinity.toFloat()
public val value_2: kotlin.Double = 110.0.toDouble()
public val value_3: kotlin.Double = 0.0.toDouble()
public val value_4: kotlin.Float = 0.0.toFloat()
public val value_5: kotlin.Double = 9999999.9.toDouble()
public val value_6: kotlin.Float = Infinity.toFloat()
public val value_7: kotlin.Double = 1.234567892345679E8.toDouble()
public val value_8: kotlin.Double = 4.565E8.toDouble()
public val value_9: kotlin.Float = 560000.0.toFloat()
@@ -0,0 +1,95 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, real-literals -> paragraph 4 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Real literals with underscores after an exponent mark.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0e___0<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>.0e_0<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0.1e__2<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE!>2.1e_2<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE!>1E-_2F<!>
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_UNDERSCORE!>3e+_0f<!>
// TESTCASE NUMBER: 7
val value_7 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>5E_<!>-0
// TESTCASE NUMBER: 8
val value_8 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>5e_<!>-0F
// TESTCASE NUMBER: 9
val value_9 = <!ILLEGAL_UNDERSCORE!>5e_00000000<!>
// TESTCASE NUMBER: 10
val value_10 = <!ILLEGAL_UNDERSCORE!>0.0_0e_1_0f<!>
// TESTCASE NUMBER: 11
val value_11 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>0.0_0E____<!>-0__0_0F
// TESTCASE NUMBER: 12
val value_12 = <!ILLEGAL_UNDERSCORE!>.0_0E__0_0<!>
// TESTCASE NUMBER: 13
val value_13 = <!ILLEGAL_UNDERSCORE!>00_______________00.0_0e+__0_0<!>
// TESTCASE NUMBER: 14
val value_14 = <!ILLEGAL_UNDERSCORE!>.0e-__1_0F<!>
// TESTCASE NUMBER: 15
val value_15 = <!ILLEGAL_UNDERSCORE!>33__3.0e_10__0<!>
// TESTCASE NUMBER: 16
val value_16 = <!ILLEGAL_UNDERSCORE!>.0E_0______00F<!>
// TESTCASE NUMBER: 17
val value_17 = <!ILLEGAL_UNDERSCORE!>666_666.0__________________________________________________1E+_2___________________________________________________________________0F<!>
// TESTCASE NUMBER: 18
val value_18 = <!ILLEGAL_UNDERSCORE!>8888888_8.000e_____0f<!>
// TESTCASE NUMBER: 19
val value_19 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>9_______9______9_____9____9___9__9_9.0E__<!>-1
// TESTCASE NUMBER: 20
val value_20 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>0_0_0_0_0_0_0_0_0_0.12345678e+__90F<!>
// TESTCASE NUMBER: 21
val value_21 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>1_2_3_4_5_6_7_8_9.2_3_4_5_6_7_8_9e_<!>-<!UNRESOLVED_REFERENCE!>_0<!>
// TESTCASE NUMBER: 22
val value_22 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>.345______________6e_____7_______8f<!>
// TESTCASE NUMBER: 23
val value_23 = <!ILLEGAL_UNDERSCORE!>.45_6E_7f<!>
// TESTCASE NUMBER: 24
val value_24 = <!ILLEGAL_UNDERSCORE!>6_54.765e-_4<!>
// TESTCASE NUMBER: 25
val value_25 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>7_6543.8E____7654_3<!>
// TESTCASE NUMBER: 26
val value_26 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>.9E+_______0_____________8765432f<!>
// TESTCASE NUMBER: 27
val value_27 = <!ILLEGAL_UNDERSCORE!>000000000000000000000000000000000000000000000000000000000000000000000000000000000000000___0.000000000000000000000000e_000000000000000000000000000000000000000000000000000000000000000_0F<!>
// TESTCASE NUMBER: 28
val value_28 = <!ILLEGAL_UNDERSCORE!>0_000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0E-_0___000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<!>
// TESTCASE NUMBER: 29
val value_29 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>9999999999999999999999999999999999999999999_______________999999999999999999999999999999999999999999999.33333333333333333333333333333333333333333333333_333333333333333333333333333333333333333e___3_3f<!>

Some files were not shown because too many files have changed in this diff Show More