FIR: Adjust testData for spec tests: constant-literals

This commit is contained in:
Denis Zharkov
2020-04-15 12:54:16 +03:00
parent 04076ea748
commit 243f9bb758
54 changed files with 3336 additions and 0 deletions
@@ -0,0 +1,21 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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 { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean?>() }
false checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean?>() }
true checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Any?>() }
false checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Any>() }
true checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Nothing?>() }
false checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Nothing>() }
}
@@ -0,0 +1,45 @@
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-218
* PLACE: expressions, constant-literals, character-literals -> paragraph 1 -> sentence 1
* RELEVANT PLACES: expressions, constant-literals, character-literals -> paragraph 1 -> sentence 2
* expressions, constant-literals, character-literals -> paragraph 2 -> sentence 1
* expressions, constant-literals, character-literals -> paragraph 2 -> sentence 2
* expressions, constant-literals, character-literals -> paragraph 4 -> sentence 1
* NUMBER: 1
* DESCRIPTION: A character literal defines a constant holding a unicode character value
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case1() {
val c = <!ILLEGAL_CONST_EXPRESSION!>''<!>
}
// TESTCASE NUMBER: 2
fun case2() {
val c2: Char = <!ILLEGAL_CONST_EXPRESSION!>''<!><!SYNTAX!>'<!>
val c3: Char = <!ILLEGAL_CONST_EXPRESSION!>'\'<!>
}
// TESTCASE NUMBER: 3
fun case3() {
val c1: Char = <!ILLEGAL_CONST_EXPRESSION!>'B a'<!>
val c2: Char = <!ILLEGAL_CONST_EXPRESSION!>' '<!>
val c3: Char = <!ILLEGAL_CONST_EXPRESSION!>'Ba'<!>
}
// TESTCASE NUMBER: 4
fun case4() {
val cOutOfRaneMin = <!ILLEGAL_CONST_EXPRESSION!>'𐀀'<!> //u+10000
val cOutOfRangeAroundMax = <!ILLEGAL_CONST_EXPRESSION!>'󠇿󠇿󟿿'<!> //u+Dfffff
}
@@ -0,0 +1,36 @@
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-218
* PLACE: expressions, constant-literals, character-literals -> paragraph 4 -> sentence 1
* RELEVANT PLACES: expressions, constant-literals, character-literals -> paragraph 5 -> sentence 1
* NUMBER: 1
* DESCRIPTION: to define a character the unicode codepoint escaped symbol \u could be used with followed by exactly four hexadecimal digits.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case1() {
//less then four hex digits
val c0 = <!ILLEGAL_CONST_EXPRESSION!>'\u'<!>
val c1 = <!ILLEGAL_CONST_EXPRESSION!>'\uf'<!>
val c2 = <!ILLEGAL_CONST_EXPRESSION!>'\u1f'<!>
val c3 = <!ILLEGAL_CONST_EXPRESSION!>'\u1wf'<!>
//more then four hex digits
val c4 = <!ILLEGAL_CONST_EXPRESSION!>'\u1wF2f'<!>
}
// TESTCASE NUMBER: 2
fun case2() {
//not hex
val c1 = <!ILLEGAL_CONST_EXPRESSION!>'\u000g'<!>
val c2 = <!ILLEGAL_CONST_EXPRESSION!>'\u000G'<!>
}
@@ -0,0 +1,14 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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 = <!ILLEGAL_CONST_EXPRESSION!>0b<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_CONST_EXPRESSION!>0B<!>
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 0b_1110100000
// TESTCASE NUMBER: 2
val value_2 = 0B_______11010000
// TESTCASE NUMBER: 3
val value_3 = 0B_1_1_0_1_0_0_0_0
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_CONST_EXPRESSION!>0b_<!>
@@ -0,0 +1,29 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 0b0_1_1_0_1_1_____
// TESTCASE NUMBER: 2
val value_2 = 0B1_______1_______0_______1_
// TESTCASE NUMBER: 3
val value_3 = 0B000000000_
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_CONST_EXPRESSION!>0b_<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_CONST_EXPRESSION!>0B______________<!>
// TESTCASE NUMBER: 6
val value_6 = 0B0_
// TESTCASE NUMBER: 7
val value_7 = 0B10_
@@ -0,0 +1,14 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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 = <!ILLEGAL_CONST_EXPRESSION!>0x<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_CONST_EXPRESSION!>0X<!>
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 0x_1234567890
// TESTCASE NUMBER: 2
val value_2 = 0X_______23456789
// TESTCASE NUMBER: 3
val value_3 = 0X_2_3_4_5_6_7_8_9
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_CONST_EXPRESSION!>0x_<!>
@@ -0,0 +1,29 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, integer-literals, hexadecimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 4
* DESCRIPTION: Hexadecimal integer literals with an underscore in the last position.
*/
// TESTCASE NUMBER: 1
val value_1 = 0x3_4_5_6_7_8_____
// TESTCASE NUMBER: 2
val value_2 = 0X4_______5_______6_______7_
// TESTCASE NUMBER: 3
val value_3 = 0X000000000_
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_CONST_EXPRESSION!>0x_<!>
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_CONST_EXPRESSION!>0X______________<!>
// TESTCASE NUMBER: 7
val value_7 = 0X0_
// TESTCASE NUMBER: 8
val value_8 = 0X10_
@@ -0,0 +1,28 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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./**/99901
// TESTCASE NUMBER: 2
val value_2 = 2./** some doc */1
// TESTCASE NUMBER: 3
val value_3 = 9999./** some doc *//**/1
// TESTCASE NUMBER: 4
val value_4 = 9999./** some /** some doc */ doc */1
// TESTCASE NUMBER: 5
val value_5 = 9999./**/
1
// TESTCASE NUMBER: 6
val value_6 = 1000000.//0
0
@@ -0,0 +1,28 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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./**/99901f
// TESTCASE NUMBER: 2
val value_2 = 2./** some doc */1F
// TESTCASE NUMBER: 3
val value_3 = 9999./** some doc *//**/1f
// TESTCASE NUMBER: 4
val value_4 = 9999./** some /** some doc */ doc */1f
// TESTCASE NUMBER: 5
val value_5 = 9999./**/
1F
// TESTCASE NUMBER: 6
val value_6 = 1000000.//0
0F
@@ -0,0 +1,44 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
// TESTCASE NUMBER: 3
val value_3 = -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890
// TESTCASE NUMBER: 4
val value_4 = -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890
// TESTCASE NUMBER: 5
val value_5 = -99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999.0
// TESTCASE NUMBER: 6
val value_6 = 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222.0
// TESTCASE NUMBER: 7
val value_7 = -555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555123456785012345678501234567850123456785012345678501234567850.0
// TESTCASE NUMBER: 8
val value_8 = 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
// TESTCASE NUMBER: 9
val value_9 = -44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
// TESTCASE NUMBER: 10
val value_10 = 777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
// TESTCASE NUMBER: 11
val value_11 = 888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
// TESTCASE NUMBER: 12
val value_12 = -555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555123456785012345678501234567850123456785012345678501234567850.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890
@@ -0,0 +1,44 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 0.0000000000000000000000000000000000000000000001f
// TESTCASE NUMBER: 3
val value_3 = -0.00000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890F
// TESTCASE NUMBER: 4
val value_4 = -0.0000000000000000000000000000000000000000000001f
// TESTCASE NUMBER: 5
val value_5 = -99999999999999999999999999999999999999.0f
// TESTCASE NUMBER: 6
val value_6 = 2222222222222222222222222222222222222222.0f
// TESTCASE NUMBER: 7
val value_7 = -555555555123456785012345678501234567850.0F
// TESTCASE NUMBER: 8
val value_8 = 333333333333333333333333333333333333333.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f
// TESTCASE NUMBER: 9
val value_9 = -44444444444444444444444444444444444444.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001F
// TESTCASE NUMBER: 10
val value_10 = 777777777777777777777777777777777777777.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001F
// TESTCASE NUMBER: 11
val value_11 = 888888888888888888888888888888888888888.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f
// TESTCASE NUMBER: 12
val value_12 = -555555555555556785012345678501234567850.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890f
@@ -0,0 +1,59 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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,47 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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<!><!AMBIGUITY!>+<!>0
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>e00<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>e<!><!AMBIGUITY!>+<!>1
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>e22<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>E<!><!AMBIGUITY!>-<!>333
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>e4444<!>
// TESTCASE NUMBER: 9
val value_9 = <!UNRESOLVED_REFERENCE!>e<!><!AMBIGUITY!>-<!>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<!><!AMBIGUITY!>-<!>88888888
// TESTCASE NUMBER: 13
val value_13 = <!UNRESOLVED_REFERENCE!>E<!><!AMBIGUITY!>+<!>999999999
@@ -0,0 +1,47 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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<!><!AMBIGUITY!>+<!>0f
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>e00f<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>e<!><!AMBIGUITY!>+<!>1F
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>e22F<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>E<!><!AMBIGUITY!>-<!>333F
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>e4444f<!>
// TESTCASE NUMBER: 9
val value_9 = <!UNRESOLVED_REFERENCE!>e<!><!AMBIGUITY!>-<!>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<!><!AMBIGUITY!>-<!>88888888F
// TESTCASE NUMBER: 13
val value_13 = <!UNRESOLVED_REFERENCE!>E<!><!AMBIGUITY!>+<!>999999999F
@@ -0,0 +1,59 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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,125 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 333.000e-333
// TESTCASE NUMBER: 11
val value_11 = 4444.0000e4444
// TESTCASE NUMBER: 12
val value_12 = 55555.0E-55555
// TESTCASE NUMBER: 13
val value_13 = 666666.00e666666
// TESTCASE NUMBER: 14
val value_14 = 7777777.000E7777777
// TESTCASE NUMBER: 15
val value_15 = 88888888.0000e-88888888
// TESTCASE NUMBER: 16
val value_16 = 999999999.0E+999999999
// TESTCASE NUMBER: 17
val value_17 = 0000000000.1234567890E999999999
// TESTCASE NUMBER: 18
val value_18 = 123456789.23456789E+123456789
// TESTCASE NUMBER: 19
val value_19 = 2345678.345678e00000000001
// TESTCASE NUMBER: 20
val value_20 = 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 = 2.66666666e308
// TESTCASE NUMBER: 33
val value_33 = 3.777777777E-308
// TESTCASE NUMBER: 34
val value_34 = 7.8888888888e+309
// TESTCASE NUMBER: 35
val value_35 = 6.99999999999e-309
// TESTCASE NUMBER: 36
val value_36 = 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,86 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 3.777777777E-308f
// TESTCASE NUMBER: 23
val value_23 = 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,59 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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,59 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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,35 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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,95 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* 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 = .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,98 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* 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 = .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,86 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* 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 = .777777777E-308f
// TESTCASE NUMBER: 23
val value_23 = .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,83 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111F
// TESTCASE NUMBER: 25
val value_25 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f
@@ -0,0 +1,77 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 4444E-99999999999999999
// TESTCASE NUMBER: 10
val value_10 = 55555e10
// TESTCASE NUMBER: 11
val value_11 = 666666E00010
// TESTCASE NUMBER: 12
val value_12 = 7777777e09090909090
// TESTCASE NUMBER: 13
val value_13 = 88888888e1234567890
// TESTCASE NUMBER: 14
val value_14 = 999999999E1234567890
// TESTCASE NUMBER: 15
val value_15 = 123456789e987654321
// TESTCASE NUMBER: 16
val value_16 = 2345678E0
// TESTCASE NUMBER: 17
val value_17 = 34567E+010
// TESTCASE NUMBER: 18
val value_18 = 456e-09876543210
// TESTCASE NUMBER: 19
val value_19 = 5e505
// TESTCASE NUMBER: 20
val value_20 = 654e5
// TESTCASE NUMBER: 21
val value_21 = 76543E-91823
// TESTCASE NUMBER: 22
val value_22 = 8765432e+90
// TESTCASE NUMBER: 23
val value_23 = 987654321e-1
@@ -0,0 +1,77 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 4444E-99999999999999999f
// TESTCASE NUMBER: 10
val value_10 = 55555e10f
// TESTCASE NUMBER: 11
val value_11 = 666666E00010F
// TESTCASE NUMBER: 12
val value_12 = 7777777e09090909090F
// TESTCASE NUMBER: 13
val value_13 = 88888888e1234567890F
// TESTCASE NUMBER: 14
val value_14 = 999999999E1234567890f
// TESTCASE NUMBER: 15
val value_15 = 123456789e987654321F
// TESTCASE NUMBER: 16
val value_16 = 2345678E0f
// TESTCASE NUMBER: 17
val value_17 = 34567E+010f
// TESTCASE NUMBER: 18
val value_18 = 456e-09876543210F
// TESTCASE NUMBER: 19
val value_19 = 5e505f
// TESTCASE NUMBER: 20
val value_20 = 654e5F
// TESTCASE NUMBER: 21
val value_21 = 76543E-91823f
// TESTCASE NUMBER: 22
val value_22 = 8765432e+90F
// TESTCASE NUMBER: 23
val value_23 = 987654321e-1f
@@ -0,0 +1,53 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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,53 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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= .0_0e-0___
// TESTCASE NUMBER: 2
val value_2 = 0_0___0E+10_
// TESTCASE NUMBER: 3
val value_3 = .0_0e-0_F
// TESTCASE NUMBER: 4
val value_4 = 0__________________________0E+3___
// TESTCASE NUMBER: 5
val value_5 = 0_00e1_
// TESTCASE NUMBER: 6
val value_6 = .0_0__0___0E0_______________
// TESTCASE NUMBER: 7
val value_7 = 0_1e+100_____f
// TESTCASE NUMBER: 8
val value_8 = .0_0E-0001___
// TESTCASE NUMBER: 9
val value_9 = 0___0__0e4___
// TESTCASE NUMBER: 10
val value_10 = 0_00_0e99_f
// TESTCASE NUMBER: 11
val value_11 = .0_5E-93_______F
// TESTCASE NUMBER: 12
val value_12 = .8____8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888_____8888888888888888888e+5_f
// TESTCASE NUMBER: 13
val value_13 = 0_0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000_0e40_F
// TESTCASE NUMBER: 14
val value_14 = 0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_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 = .000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+75_
@@ -0,0 +1,50 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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 = 0_E0
// TESTCASE NUMBER: 2
val value_2 = 1.1_E2
// TESTCASE NUMBER: 3
val value_3 = .0__0_e-0___0
// TESTCASE NUMBER: 4
val value_4 = 0__0.0_____e0f
// TESTCASE NUMBER: 5
val value_5 = 9_______9______9_____9____9___9__9_9.0___E-1
// TESTCASE NUMBER: 6
val value_6 = 0_0_0_0_0_0_0_0_0_0.12345678___e+90F
// TESTCASE NUMBER: 7
val value_7 = 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 = 456.5__e0_6
// TESTCASE NUMBER: 9
val value_9 = 5.6_0_E+05F
// TESTCASE NUMBER: 10
val value_10 = 6_54.76_5__e-4
// TESTCASE NUMBER: 11
val value_11 = 9_____________87654321.0__e-9_8765432_____________1F
// TESTCASE NUMBER: 12
val value_12 = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000___0.000000000000000000000000_e000000000000000000000000000000000000000000000000000000000000000_0F
// TESTCASE NUMBER: 13
val value_13 = 0_000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0____E-0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
// TESTCASE NUMBER: 14
val value_14 = 9999999999999999999999999999999999999999999_______________999999999999999999999999999999999999999999999.33333333333333333333333333333333333333333333333_333333333333333333333333333333333333333_e3_3f
@@ -0,0 +1,95 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* 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<!>
@@ -0,0 +1,86 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 4 -> sentence 2
* NUMBER: 3
* DESCRIPTION: Real literals with underscores around an exponent mark.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>.0__e_0<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>2.1_e_2<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>1_E-_2F<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE!>3_e+_0f<!>
// TESTCASE NUMBER: 5
val value_5 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>5_E_<!>-0
// TESTCASE NUMBER: 6
val value_6 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>5_e_<!>-0F
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_UNDERSCORE!>5_e_00000000<!>
// TESTCASE NUMBER: 8
val value_8 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>0.0_0___E____<!>-0__0_0F
// TESTCASE NUMBER: 9
val value_9 = <!ILLEGAL_UNDERSCORE!>0__0.0_____e___0f<!>
// TESTCASE NUMBER: 10
val value_10 = <!ILLEGAL_UNDERSCORE!>.0_0_E__0_0<!>
// TESTCASE NUMBER: 11
val value_11 = <!ILLEGAL_UNDERSCORE!>00_______________00.0_0__e+__0_0<!>
// TESTCASE NUMBER: 12
val value_12 = <!ILLEGAL_UNDERSCORE!>33__3.0_e_10__0<!>
// TESTCASE NUMBER: 13
val value_13 = <!ILLEGAL_UNDERSCORE!>.0_E_0______00F<!>
// TESTCASE NUMBER: 14
val value_14 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>5_________555_________5.0____e____<!>-<!UNRESOLVED_REFERENCE!>____9<!>
// TESTCASE NUMBER: 15
val value_15 = <!ILLEGAL_UNDERSCORE!>666_666.0__________________________________________________1_E+_2___________________________________________________________________0F<!>
// TESTCASE NUMBER: 16
val value_16 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>9_______9______9_____9____9___9__9_9.0___E__<!>-1
// TESTCASE NUMBER: 17
val value_17 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>0_0_0_0_0_0_0_0_0_0.12345678___e+__90F<!>
// TESTCASE NUMBER: 18
val value_18 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>1_2_3_4_5_6_7_8_9.2_3_4_5_6_7_8_9_e_<!>-<!UNRESOLVED_REFERENCE!>_0<!>
// TESTCASE NUMBER: 19
val value_19 = <!ILLEGAL_UNDERSCORE!>.45_6_E_7f<!>
// TESTCASE NUMBER: 20
val value_20 = <!ILLEGAL_UNDERSCORE!>456.5__e_0_6<!>
// TESTCASE NUMBER: 21
val value_21 = <!ILLEGAL_UNDERSCORE!>6_54.76_5_e-_4<!>
// TESTCASE NUMBER: 22
val value_22 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>7_6543.8____E____7654_3<!>
// TESTCASE NUMBER: 23
val value_23 = <!FLOAT_LITERAL_OUT_OF_RANGE, ILLEGAL_UNDERSCORE!>9_____________87654321.0__e__<!>-9_8765432_____________1F
// TESTCASE NUMBER: 24
val value_24 = <!ILLEGAL_UNDERSCORE!>000000000000000000000000000000000000000000000000000000000000000000000000000000000000000___0.000000000000000000000000_e_000000000000000000000000000000000000000000000000000000000000000_0F<!>
// TESTCASE NUMBER: 25
val value_25 = <!ILLEGAL_UNDERSCORE!>0_000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0_E-_0___000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<!>
// TESTCASE NUMBER: 26
val value_26 = <!FLOAT_LITERAL_CONFORMS_INFINITY, ILLEGAL_UNDERSCORE!>9999999999999999999999999999999999999999999_______________999999999999999999999999999999999999999999999.33333333333333333333333333333333333333333333333_333333333333333333333333333333333333333_e_3_3f<!>
@@ -0,0 +1,89 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 4 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Real literals with underscores in a whole-number part and a fraction part.
*/
// TESTCASE NUMBER: 1
val value_1 = 0.0_0
// TESTCASE NUMBER: 2
val value_2 = 0.0__0___0
// TESTCASE NUMBER: 3
val value_3 = 0.0_0__0_0
// TESTCASE NUMBER: 4
val value_4 = 0__0.0
// TESTCASE NUMBER: 5
val value_5 = 0_0_0.0______0
// TESTCASE NUMBER: 6
val value_6 = 00_______________00.0_0_0
// TESTCASE NUMBER: 7
val value_7 = 2_2.0_0
// TESTCASE NUMBER: 8
val value_8 = 33__3.00__0
// TESTCASE NUMBER: 9
val value_9 = 4_44____4.00______00
// TESTCASE NUMBER: 10
val value_10 = 5_________555_________5.0
// TESTCASE NUMBER: 11
val value_11 = 666_666.0_____________________________________________________________________________________________________________________0
// TESTCASE NUMBER: 12
val value_12 = 7777777.0_0_0
// TESTCASE NUMBER: 13
val value_13 = 8888888_8.0000
// TESTCASE NUMBER: 14
val value_14 = 9_______9______9_____9____9___9__9_9.0
// TESTCASE NUMBER: 15
val value_15 = 0_0_0_0_0_0_0_0_0_0.1234567890
// TESTCASE NUMBER: 16
val value_16 = 1_2_3_4_5_6_7_8_9.2_3_4_5_6_7_8_9
// TESTCASE NUMBER: 17
val value_17 = 234_5_678.345______________678
// TESTCASE NUMBER: 18
val value_18 = 3_456_7.4567
// TESTCASE NUMBER: 19
val value_19 = 456.5_6
// TESTCASE NUMBER: 20
val value_20 = 5.6_5
// TESTCASE NUMBER: 21
val value_21 = 6_54.7654
// TESTCASE NUMBER: 22
val value_22 = 7_6543.87654_3
// TESTCASE NUMBER: 23
val value_23 = 876543_____________2.9_____________8765432
// TESTCASE NUMBER: 24
val value_24 = 9_____________87654321.098765432_____________1
// TESTCASE NUMBER: 25
val value_25 = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000___0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000_0
// TESTCASE NUMBER: 26
val value_26 = 0_000000000000000000000000000000000000000000000000000000000000000000000000_000000000000000000000000000000000000000000000000000000000000000000000000_000000000000000000000000000000000000000000000000000000000000000000000000_000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0___0000000000000000000000000000000000000000000000000000000000000000000000000000000___0000000000000000000000000000000000000000000000000000000000000000000000000000000___0000000000000000000000000000000000000000000000000000000000000000000000000000000___0000000000000000000000000000000000000000000000000000000000000000000000000000000___0000000000000000000000000000000000000000000000000000000000000000000000000000000___0000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
// TESTCASE NUMBER: 27
val value_27 = 9999999999999999999999999999999999999999999_______________99999999999999999999999999999_______________99999999999999999999999999999_______________99999999999999999999999999999_______________999999999999999999999999999999999999999999999_______________99999999999999999999999999999_______________99999999999999999999999999999_______________999999999999999999999999999999999999999999999_______________99999999999999999999999999999_______________99999999999999999999999999999_______________999999999999999999999999999999999999999999999.33333333333333333333333333333333333333333333333_33333333333333333333333333333333333333333
@@ -0,0 +1,89 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 4 -> sentence 1
* NUMBER: 2
* DESCRIPTION: Real literals suffixed by f/F (float suffix) with underscores in a whole-number part and a fraction part.
*/
// TESTCASE NUMBER: 1
val value_1 = 0.0_0f
// TESTCASE NUMBER: 2
val value_2 = 0.0__0___0F
// TESTCASE NUMBER: 3
val value_3 = 0.0_0__0_0f
// TESTCASE NUMBER: 4
val value_4 = 0__0.0F
// TESTCASE NUMBER: 5
val value_5 = 0_0_0.0______0f
// TESTCASE NUMBER: 6
val value_6 = 00_______________00.0_0_0F
// TESTCASE NUMBER: 7
val value_7 = 2_2.0_0F
// TESTCASE NUMBER: 8
val value_8 = 33__3.00__0F
// TESTCASE NUMBER: 9
val value_9 = 4_44____4.00______00f
// TESTCASE NUMBER: 10
val value_10 = 5_________555_________5.0F
// TESTCASE NUMBER: 11
val value_11 = 666_666.0_____________________________________________________________________________________________________________________0F
// TESTCASE NUMBER: 12
val value_12 = 7777777.0_0_0f
// TESTCASE NUMBER: 13
val value_13 = 8888888_8.0000F
// TESTCASE NUMBER: 14
val value_14 = 9_______9______9_____9____9___9__9_9.0f
// TESTCASE NUMBER: 15
val value_15 = 0_0_0_0_0_0_0_0_0_0.1234567890f
// TESTCASE NUMBER: 16
val value_16 = 1_2_3_4_5_6_7_8_9.2_3_4_5_6_7_8_9F
// TESTCASE NUMBER: 17
val value_17 = 234_5_678.345______________678F
// TESTCASE NUMBER: 18
val value_18 = 3_456_7.4567f
// TESTCASE NUMBER: 19
val value_19 = 456.5_6F
// TESTCASE NUMBER: 20
val value_20 = 5.6_5f
// TESTCASE NUMBER: 21
val value_21 = 6_54.7654F
// TESTCASE NUMBER: 22
val value_22 = 7_6543.87654_3F
// TESTCASE NUMBER: 23
val value_23 = 876543_____________2.9_____________8765432f
// TESTCASE NUMBER: 24
val value_24 = 9_____________87654321.098765432_____________1F
// TESTCASE NUMBER: 25
val value_25 = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000___0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000_0F
// TESTCASE NUMBER: 26
val value_26 = 0_000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0___0000000000000000000000000000000000000000000000000000000___0000000000000000000000000000000000000000000000000000000___0000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f
// TESTCASE NUMBER: 27
val value_27 = 9999999999999999999999999999999999999999999_______________999999999999999999999999999999999999999999999.33333333333333333333333333333333333333333333333_33333333333333333333333333333333333333333f
@@ -0,0 +1,89 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 4 -> sentence 1
* NUMBER: 3
* DESCRIPTION: Real literals suffixed by f/F (float suffix) with an exponent mark and underscores in a whole-number part, a fraction part and an exponent part.
*/
// TESTCASE NUMBER: 1
val value_1 = 0.0_0e1_0f
// TESTCASE NUMBER: 2
val value_2 = 0.0__0e-0___0
// TESTCASE NUMBER: 3
val value_3 = 0.0_0E-0__0_0F
// TESTCASE NUMBER: 4
val value_4 = 0__0.0e0f
// TESTCASE NUMBER: 5
val value_5 = 0_0_0.0_0E0_0
// TESTCASE NUMBER: 6
val value_6 = 00_______________00.0_0e+0_0
// TESTCASE NUMBER: 7
val value_7 = 2_2.0e1_0F
// TESTCASE NUMBER: 8
val value_8 = 33__3.0e10__0
// TESTCASE NUMBER: 9
val value_9 = 4_44____4.0E0______00F
// TESTCASE NUMBER: 10
val value_10 = 5_________555_________5.0e-9
// TESTCASE NUMBER: 11
val value_11 = 666_666.0__________________________________________________1E+2___________________________________________________________________0F
// TESTCASE NUMBER: 12
val value_12 = 7777777.0_0e3_0
// TESTCASE NUMBER: 13
val value_13 = 8888888_8.000e0f
// TESTCASE NUMBER: 14
val value_14 = 9_______9______9_____9____9___9__9_9.0E-1
// TESTCASE NUMBER: 15
val value_15 = 0_0_0_0_0_0_0_0_0_0.12345678e+90F
// TESTCASE NUMBER: 16
val value_16 = 1_2_3_4_5_6_7_8_9.2_3_4_5_6_7_8_9e-0
// TESTCASE NUMBER: 17
val value_17 = 234_5_678.345______________6e7_______8f
// TESTCASE NUMBER: 18
val value_18 = 3_456_7.45_6E7f
// TESTCASE NUMBER: 19
val value_19 = 456.5e0_6
// TESTCASE NUMBER: 20
val value_20 = 5.6_0E+05F
// TESTCASE NUMBER: 21
val value_21 = 6_54.76_5e-4
// TESTCASE NUMBER: 22
val value_22 = 7_6543.8E7654_3
// TESTCASE NUMBER: 23
val value_23 = 876543_____________2.9E+0_____________8765432f
// TESTCASE NUMBER: 24
val value_24 = 9_____________87654321.0e-9_8765432_____________1F
// TESTCASE NUMBER: 25
val value_25 = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000___0.000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000_0F
// TESTCASE NUMBER: 26
val value_26 = 0_000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0E-0___000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
// TESTCASE NUMBER: 27
val value_27 = 9999999999999999999999999999999999999999999_______________999999999999999999999999999999999999999999999.33333333333333333333333333333333333333333333333_333333333333333333333333333333333333333e3_3f
@@ -0,0 +1,95 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 4 -> sentence 1
* NUMBER: 4
* DESCRIPTION: Real literals with an omitted whole-number part and underscores in a whole-number part, a fraction part and an exponent part.
*/
// TESTCASE NUMBER: 1
val value_1 = .0_0
// TESTCASE NUMBER: 2
val value_2 = .0_0f
// TESTCASE NUMBER: 3
val value_3 = .0_0e-0_0
// TESTCASE NUMBER: 4
val value_4 = .0_0e0_0F
// TESTCASE NUMBER: 5
val value_5 = .0__0F
// TESTCASE NUMBER: 6
val value_6 = .0_0E+0__0_0F
// TESTCASE NUMBER: 7
val value_7 = .0e0f
// TESTCASE NUMBER: 8
val value_8 = .0_0E0_0
// TESTCASE NUMBER: 9
val value_9 = .0e1_0F
// TESTCASE NUMBER: 10
val value_10 = .0e10__0
// TESTCASE NUMBER: 11
val value_11 = .00______00F
// TESTCASE NUMBER: 12
val value_12 = .0___9
// TESTCASE NUMBER: 13
val value_13 = .0__________________________________________________12___________________________________________________________________0F
// TESTCASE NUMBER: 14
val value_14 = .0_0e+3_0
// TESTCASE NUMBER: 15
val value_15 = .000e0f
// TESTCASE NUMBER: 16
val value_16 = .9_______9______9_____9____9___9__9_90E-1
// TESTCASE NUMBER: 17
val value_17 = .12345678_90
// TESTCASE NUMBER: 18
val value_18 = .1_2_3_4_5_6_7_8_9_0
// TESTCASE NUMBER: 19
val value_19 = .345______________6e-7_______8f
// TESTCASE NUMBER: 20
val value_20 = .45_67f
// TESTCASE NUMBER: 21
val value_21 = .5e+0_6
// TESTCASE NUMBER: 22
val value_22 = .6_0______________05F
// TESTCASE NUMBER: 23
val value_23 = .76_5e4
// TESTCASE NUMBER: 24
val value_24 = .8E7654_3
// TESTCASE NUMBER: 25
val value_25 = .9E0_____________8765432f
// TESTCASE NUMBER: 26
val value_26 = .09_8765432_____________1F
// TESTCASE NUMBER: 27
val value_27 = .000000000000000000000000e-000000000000000000000000000000000000000000000000000000000000000_0F
// TESTCASE NUMBER: 28
val value_28 = .00___000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
// TESTCASE NUMBER: 29
val value_29 = .33333333333333333333333333333333333333333333333_333333333333333333333333333333333333333e3_3f
@@ -0,0 +1,101 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 4 -> sentence 1
* NUMBER: 5
* DESCRIPTION: Real literals with an omitted fraction part and underscores in a whole-number part, a fraction part and an exponent part.
*/
// TESTCASE NUMBER: 1
val value_1 = 0_0F
// TESTCASE NUMBER: 2
val value_2 = 0_0E-0_0F
// TESTCASE NUMBER: 3
val value_3 = 0_0E-0_0
// TESTCASE NUMBER: 4
val value_4 = 0_0____0f
// TESTCASE NUMBER: 5
val value_5 = 0_0____0e-0f
// TESTCASE NUMBER: 6
val value_6 = 0_0_0_0F
// TESTCASE NUMBER: 7
val value_7 = 0_0_0_0E-0_0_0_0F
// TESTCASE NUMBER: 8
val value_8 = 0000000000000000000_______________0000000000000000000f
// TESTCASE NUMBER: 9
val value_9 = 0000000000000000000_______________0000000000000000000e+0f
// TESTCASE NUMBER: 10
val value_10 = 0000000000000000000_______________0000000000000000000E-0
// TESTCASE NUMBER: 11
val value_11 = 2___2e-2___2f
// TESTCASE NUMBER: 12
val value_12 = 33_3E0_0F
// TESTCASE NUMBER: 13
val value_13 = 4_444E-4_444f
// TESTCASE NUMBER: 14
val value_14 = 55_5_55F
// TESTCASE NUMBER: 15
val value_15 = 666____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________666f
// TESTCASE NUMBER: 16
val value_16 = 666____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________666E-10
// TESTCASE NUMBER: 17
val value_17 = 7_7_7_7_7_7_7f
// TESTCASE NUMBER: 18
val value_18 = 8888888________8e-9000000_0
// TESTCASE NUMBER: 19
val value_19 = 9________9_______9______9_____9____9___9__9_9F
// TESTCASE NUMBER: 20
val value_20 = 1__2_3__4____5_____6__7_89f
// TESTCASE NUMBER: 21
val value_21 = 2__34567e8
// TESTCASE NUMBER: 22
val value_22 = 345_6E+9_7F
// TESTCASE NUMBER: 23
val value_23 = 45_____________________________________________________________6E-12313413_4
// TESTCASE NUMBER: 24
val value_24 = 5_______________________________________________________________________________________________________________________________________________________________________________________5f
// TESTCASE NUMBER: 25
val value_25 = 6__________________________________________________54F
// TESTCASE NUMBER: 26
val value_26 = 76_5___4e3___________33333333
// TESTCASE NUMBER: 27
val value_27 = 876543_____________________________________________________________2f
// TESTCASE NUMBER: 28
val value_28 = 9_8__7654__3_21F
// TESTCASE NUMBER: 29
val value_29 = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0__0F
// TESTCASE NUMBER: 30
val value_30 = 0___000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f
// TESTCASE NUMBER: 31
val value_31 = 33333333333333333333333333333333333333333333333_33333333333333333333333333333333333333333E-1_0_0
@@ -0,0 +1,51 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 5 -> sentence 1
* NUMBER: 1
* DESCRIPTION: A type checking of a simple real literal (with/without underscores).
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
val value_1 = 0.1 checkType { check<Double>() }
// TESTCASE NUMBER: 2
val value_2 = 0.1234567890 checkType { check<Double>() }
// TESTCASE NUMBER: 3
val value_3 = -0.99___99999999 checkType { check<Double>() }
// TESTCASE NUMBER: 4
val value_4 = -1111111111.9_9_9_9_9_9_9_9_9_9 checkType { check<Double>() }
// TESTCASE NUMBER: 5
val value_5 = 6_6_6_6_6_6_6_6_6_6.0000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 6
val value_6 = 66666666666666666666666666666666666666666666666666.000000000000000000000000000_____000000000000000000000001 checkType { check<Double>() }
// TESTCASE NUMBER: 7
val value_7 = 0.0 checkType { check<Double>() }
// TESTCASE NUMBER: 8
val value_8 = -0.0________0_______0______0_____0____0___0__0_0 checkType { check<Double>() }
// TESTCASE NUMBER: 9
val value_9 = 0.0000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 10
val value_10 = 0.00000000000000000000000000__________________________________________________________________________________________00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 11
val value_11 = -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 checkType { check<Double>() }
// TESTCASE NUMBER: 12
val value_12 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 checkType { check<Double>() }
// TESTCASE NUMBER: 13
val value_13 = -99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999.0 checkType { check<Double>() }
// TESTCASE NUMBER: 14
val value_14 = 222222222222222222___222222222222222222222___222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222.0 checkType { check<Double>() }
@@ -0,0 +1,126 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 5 -> sentence 1
* NUMBER: 2
* DESCRIPTION: A type checking of a real literal with an exponent mark.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
val value_1 = 0.0e0 checkType { check<Double>() }
// TESTCASE NUMBER: 2
val value_2 = 0.0e-0____0 checkType { check<Double>() }
// TESTCASE NUMBER: 3
val value_3 = 0.0E000 checkType { check<Double>() }
// TESTCASE NUMBER: 4
val value_4 = 0.0E+0_0_0_0 checkType { check<Double>() }
// TESTCASE NUMBER: 5
val value_5 = 0________________________________________0.0e+0 checkType { check<Double>() }
// TESTCASE NUMBER: 6
val value_6 = 000.0___0e0_0 checkType { check<Double>() }
// TESTCASE NUMBER: 7
val value_7 = 0000.000E-000 checkType { check<Double>() }
// TESTCASE NUMBER: 8
val value_8 = 1.0E+1 checkType { check<Double>() }
// TESTCASE NUMBER: 9
val value_9 = 2_________2.0_0e2_2 checkType { check<Double>() }
// TESTCASE NUMBER: 10
val value_10 = 33____3.000e-333 checkType { check<Double>() }
// TESTCASE NUMBER: 11
val value_11 = 4444.0000e4444 checkType { check<Double>() }
// TESTCASE NUMBER: 12
val value_12 = 55555.0E-5_5_5_5_5 checkType { check<Double>() }
// TESTCASE NUMBER: 13
val value_13 = 6_6_6_6_6_6.0____0e666666 checkType { check<Double>() }
// TESTCASE NUMBER: 14
val value_14 = 7777777.000E7777777 checkType { check<Double>() }
// TESTCASE NUMBER: 15
val value_15 = 88888888.0000e-88888888 checkType { check<Double>() }
// TESTCASE NUMBER: 16
val value_16 = 9_9_9_9_9_9_9_9_9.0E+9_9_9_9_9_9_9_9_9 checkType { check<Double>() }
// TESTCASE NUMBER: 17
val value_17 = 0_________0________0_______0______0_____0____0___0__0_0.1234567890E999999999 checkType { check<Double>() }
// TESTCASE NUMBER: 18
val value_18 = 123456789.23456789E+123456789 checkType { check<Double>() }
// TESTCASE NUMBER: 19
val value_19 = 2345678.345678e00000000001 checkType { check<Double>() }
// TESTCASE NUMBER: 20
val value_20 = 34567.4_5__6___7E-100000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 21
val value_21 = 456.5________6e-0 checkType { check<Double>() }
// TESTCASE NUMBER: 22
val value_22 = 5.65e000000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 23
val value_23 = 654.7654E+0__1_0 checkType { check<Double>() }
// TESTCASE NUMBER: 24
val value_24 = 76543.876543E1 checkType { check<Double>() }
// TESTCASE NUMBER: 25
val value_25 = 8765432.98765432e-2 checkType { check<Double>() }
// TESTCASE NUMBER: 26
val value_26 = 9_8765432_1.0987654321E-3 checkType { check<Double>() }
// TESTCASE NUMBER: 27
val value_27 = 0.111_1e4 checkType { check<Double>() }
// TESTCASE NUMBER: 28
val value_28 = 1.2_2222E-5 checkType { check<Double>() }
// TESTCASE NUMBER: 29
val value_29 = 9.33333e+6 checkType { check<Double>() }
// TESTCASE NUMBER: 30
val value_30 = 9.444444E7 checkType { check<Double>() }
// TESTCASE NUMBER: 31
val value_31 = 8.5555555e8 checkType { check<Double>() }
// TESTCASE NUMBER: 32
val value_32 = 2.66666666e3_0_8 checkType { check<Double>() }
// TESTCASE NUMBER: 33
val value_33 = 3.7________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________77777777E-308 checkType { check<Double>() }
// TESTCASE NUMBER: 34
val value_34 = 7.8888888888e+30____9 checkType { check<Double>() }
// TESTCASE NUMBER: 35
val value_35 = 6.99999999999e-309 checkType { check<Double>() }
// TESTCASE NUMBER: 36
val value_36 = 7.888888___888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888e+111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 checkType { check<Double>() }
// TESTCASE NUMBER: 37
val value_37 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000_0 checkType { check<Double>() }
// TESTCASE NUMBER: 38
val value_38 = 0.0_00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 39
val value_39 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 checkType { check<Double>() }
@@ -0,0 +1,96 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 5 -> sentence 1
* NUMBER: 3
* DESCRIPTION: A type checking of a real literal with omitted a whole-number part.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
val value_1 = .0 checkType { check<Double>() }
// TESTCASE NUMBER: 2
val value_2 = .00 checkType { check<Double>() }
// TESTCASE NUMBER: 3
val value_3 = .000 checkType { check<Double>() }
// TESTCASE NUMBER: 4
val value_4 = .0000 checkType { check<Double>() }
// TESTCASE NUMBER: 5
val value_5 = .1234567890 checkType { check<Double>() }
// TESTCASE NUMBER: 6
val value_6 = .23456789 checkType { check<Double>() }
// TESTCASE NUMBER: 7
val value_7 = .345678 checkType { check<Double>() }
// TESTCASE NUMBER: 8
val value_8 = .4567 checkType { check<Double>() }
// TESTCASE NUMBER: 9
val value_9 = .56 checkType { check<Double>() }
// TESTCASE NUMBER: 10
val value_10 = .65 checkType { check<Double>() }
// TESTCASE NUMBER: 11
val value_11 = .7654 checkType { check<Double>() }
// TESTCASE NUMBER: 12
val value_12 = .876543 checkType { check<Double>() }
// TESTCASE NUMBER: 13
val value_13 = .98765432 checkType { check<Double>() }
// TESTCASE NUMBER: 14
val value_14 = .0987654321 checkType { check<Double>() }
// TESTCASE NUMBER: 15
val value_15 = .1111 checkType { check<Double>() }
// TESTCASE NUMBER: 16
val value_16 = .22222 checkType { check<Double>() }
// TESTCASE NUMBER: 17
val value_17 = .33333 checkType { check<Double>() }
// TESTCASE NUMBER: 18
val value_18 = .444444 checkType { check<Double>() }
// TESTCASE NUMBER: 19
val value_19 = .5555555 checkType { check<Double>() }
// TESTCASE NUMBER: 20
val value_20 = .66666666 checkType { check<Double>() }
// TESTCASE NUMBER: 21
val value_21 = .777777777 checkType { check<Double>() }
// TESTCASE NUMBER: 22
val value_22 = .8888888888 checkType { check<Double>() }
// TESTCASE NUMBER: 23
val value_23 = .99999999999 checkType { check<Double>() }
// TESTCASE NUMBER: 24
val value_24 = .00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 checkType { check<Double>() }
// TESTCASE NUMBER: 25
val value_25 = .000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 checkType { check<Double>() }
// TESTCASE NUMBER: 26
val value_26 = .0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789012345678901234567890123456789012345678901234567890 checkType { check<Double>() }
// TESTCASE NUMBER: 27
val value_27 = .44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444441 checkType { check<Double>() }
// TESTCASE NUMBER: 28
val value_28 = .777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777771 checkType { check<Double>() }
// TESTCASE NUMBER: 29
val value_29 = .9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999123456789912345678991234567899123456789912345678991234567899 checkType { check<Double>() }
@@ -0,0 +1,99 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 5 -> sentence 1
* NUMBER: 4
* DESCRIPTION: A type checking of a real literal with omitted a whole-number part and an exponent mark.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
val value_1 = .0e0 checkType { check<Double>() }
// TESTCASE NUMBER: 2
val value_2 = .0e-0__________________0 checkType { check<Double>() }
// TESTCASE NUMBER: 3
val value_3 = .0E000 checkType { check<Double>() }
// TESTCASE NUMBER: 4
val value_4 = .0E+0___0__0_0 checkType { check<Double>() }
// TESTCASE NUMBER: 5
val value_5 = .0e+0 checkType { check<Double>() }
// TESTCASE NUMBER: 6
val value_6 = .0_______0e00 checkType { check<Double>() }
// TESTCASE NUMBER: 7
val value_7 = .00_0E-000 checkType { check<Double>() }
// TESTCASE NUMBER: 8
val value_8 = .0E+1 checkType { check<Double>() }
// TESTCASE NUMBER: 9
val value_9 = .00e22 checkType { check<Double>() }
// TESTCASE NUMBER: 10
val value_10 = .000e-333 checkType { check<Double>() }
// TESTCASE NUMBER: 12
val value_12 = .0E-5_5_5_5_5 checkType { check<Double>() }
// TESTCASE NUMBER: 15
val value_15 = .0_0_0_0e-88888888 checkType { check<Double>() }
// TESTCASE NUMBER: 19
val value_19 = .345678e00000000001 checkType { check<Double>() }
// TESTCASE NUMBER: 20
val value_20 = .4______567E-100000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 21
val value_21 = .5_6e-0 checkType { check<Double>() }
// TESTCASE NUMBER: 22
val value_22 = .65e000000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 23
val value_23 = .7654E+01_____0 checkType { check<Double>() }
// TESTCASE NUMBER: 24
val value_24 = .87__65__43E1 checkType { check<Double>() }
// TESTCASE NUMBER: 25
val value_25 = .98765432e-2 checkType { check<Double>() }
// TESTCASE NUMBER: 26
val value_26 = .0987654321E-3 checkType { check<Double>() }
// TESTCASE NUMBER: 27
val value_27 = .1___1__1_1e4 checkType { check<Double>() }
// TESTCASE NUMBER: 28
val value_28 = .22222E-5 checkType { check<Double>() }
// TESTCASE NUMBER: 29
val value_29 = .33333e+6 checkType { check<Double>() }
// TESTCASE NUMBER: 30
val value_30 = .44444_4E7 checkType { check<Double>() }
// TESTCASE NUMBER: 31
val value_31 = .5555555e8 checkType { check<Double>() }
// TESTCASE NUMBER: 33
val value_33 = .7_77777777E-308 checkType { check<Double>() }
// TESTCASE NUMBER: 35
val value_35 = .99999999999e-3_0_9 checkType { check<Double>() }
// TESTCASE NUMBER: 37
val value_37 = .0____00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 38
val value_38 = .000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000___0 checkType { check<Double>() }
// TESTCASE NUMBER: 39
val value_39 = .000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 checkType { check<Double>() }
@@ -0,0 +1,78 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, real-literals -> paragraph 5 -> sentence 1
* NUMBER: 5
* DESCRIPTION: A type checking of a real literal with omitted a fraction part and an exponent mark.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
val value_1 = 0e0 checkType { check<Double>() }
// TESTCASE NUMBER: 2
val value_2 = 0_0e0_0 checkType { check<Double>() }
// TESTCASE NUMBER: 3
val value_3 = 000E-10 checkType { check<Double>() }
// TESTCASE NUMBER: 4
val value_4 = 00______00e+00000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 5
val value_5 = 0000000000000000000000000000000000000_0E1 checkType { check<Double>() }
// TESTCASE NUMBER: 6
val value_6 = 1e1 checkType { check<Double>() }
// TESTCASE NUMBER: 7
val value_7 = 2___2E-1 checkType { check<Double>() }
// TESTCASE NUMBER: 8
val value_8 = 333e-00000000000 checkType { check<Double>() }
// TESTCASE NUMBER: 9
val value_9 = 4444E-99999999999999999 checkType { check<Double>() }
// TESTCASE NUMBER: 10
val value_10 = 5_5_5_5_5e10 checkType { check<Double>() }
// TESTCASE NUMBER: 11
val value_11 = 666666E0_0_0_1_0 checkType { check<Double>() }
// TESTCASE NUMBER: 12
val value_12 = 7777777e09090909090 checkType { check<Double>() }
// TESTCASE NUMBER: 13
val value_13 = 88888888e1234567890 checkType { check<Double>() }
// TESTCASE NUMBER: 14
val value_14 = 999999999E1234567890 checkType { check<Double>() }
// TESTCASE NUMBER: 15
val value_15 = 123456789e9_____87___654__32_1 checkType { check<Double>() }
// TESTCASE NUMBER: 16
val value_16 = 2345678E0 checkType { check<Double>() }
// TESTCASE NUMBER: 17
val value_17 = 3____4___5__6_7E+010 checkType { check<Double>() }
// TESTCASE NUMBER: 18
val value_18 = 456e-09876543210 checkType { check<Double>() }
// TESTCASE NUMBER: 19
val value_19 = 5e5_0_5 checkType { check<Double>() }
// TESTCASE NUMBER: 20
val value_20 = 654e5 checkType { check<Double>() }
// TESTCASE NUMBER: 21
val value_21 = 76543E-91823 checkType { check<Double>() }
// TESTCASE NUMBER: 22
val value_22 = 8765432e+9_______0 checkType { check<Double>() }
// TESTCASE NUMBER: 23
val value_23 = 9_87654321e-1 checkType { check<Double>() }
@@ -0,0 +1,32 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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 = <!ILLEGAL_CONST_EXPRESSION!>0bl<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_CONST_EXPRESSION!>0BL<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_CONST_EXPRESSION!>0Xl<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_CONST_EXPRESSION!>0xL<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_CONST_EXPRESSION!>0b_l<!>
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_CONST_EXPRESSION!>0B_L<!>
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_CONST_EXPRESSION!>0X____l<!>
// TESTCASE NUMBER: 8
val value_8 = <!ILLEGAL_CONST_EXPRESSION!>0x_L<!>
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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 = 0b0_l
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_CONST_EXPRESSION!>0B12_L<!>
// TESTCASE NUMBER: 3
val value_3 = 0X234_l
// TESTCASE NUMBER: 4
val value_4 = 0x3567_L
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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 = 0l
// TESTCASE NUMBER: 2
val value_2 = 1000000000000000l
// TESTCASE NUMBER: 3
val value_3 = 0X0l
// TESTCASE NUMBER: 4
val value_4 = 0b101l
@@ -0,0 +1,21 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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() {
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>() }
}
@@ -0,0 +1,28 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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 { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
1000000L checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Int>() }
0XAf10cDL checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Int>() }
0x0_0L checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
0b100_000_111_111L checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
0b0L checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(0L)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(1000000L)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(0XAf10cDL)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(0x0_0L)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(0b100_000_111_111L)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(0b0L)
}
@@ -0,0 +1,122 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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 { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
0 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
0 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
}
// TESTCASE NUMBER: 2
fun case_2() {
127 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
127 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
127 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(128)
128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-129)
-129 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-129 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-129 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
}
// TESTCASE NUMBER: 3
fun case_3() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(32767)
32767 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
32767 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
32767 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(32768)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(32768)
32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-32768)
-32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-32769)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(-32769)
-32769 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-32769 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-32769 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
}
// TESTCASE NUMBER: 4
fun case_4() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(2147483647)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(2147483647)
2147483647 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
2147483647 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
2147483647 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(2147483648)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(2147483648)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(2147483648)
2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Int>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-2147483648)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(-2147483648)
-2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-2147483649)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(-2147483649)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(-2147483649)
-2147483649 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-2147483649 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-2147483649 checkType { check<Int>() }
}
// TESTCASE NUMBER: 5
fun case_5() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(9223372036854775807)
9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Int>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(-9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(-9223372036854775807)
-9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-9223372036854775807 checkType { check<Int>() }
}
// TESTCASE NUMBER: 6
fun case_6() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Int>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
}
@@ -0,0 +1,35 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!>)
<!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
}
// TESTCASE NUMBER: 2
fun case_2() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!>)
<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!>)
<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
}
@@ -0,0 +1,68 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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() {
<!INAPPLICABLE_CANDIDATE!>f1<!>(128)
<!INAPPLICABLE_CANDIDATE!>f1<!>(-129)
<!INAPPLICABLE_CANDIDATE!>f1<!>(32767)
<!INAPPLICABLE_CANDIDATE!>f1<!>(-32768)
<!INAPPLICABLE_CANDIDATE!>f1<!>(2147483647)
<!INAPPLICABLE_CANDIDATE!>f1<!>(-2147483648)
<!INAPPLICABLE_CANDIDATE!>f1<!>(9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>f1<!>(-9223372036854775807)
f1(<!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f1(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
}
// TESTCASE NUMBER: 2
fun case_2() {
<!INAPPLICABLE_CANDIDATE!>f2<!>(32768)
<!INAPPLICABLE_CANDIDATE!>f2<!>(-32769)
<!INAPPLICABLE_CANDIDATE!>f2<!>(2147483647)
<!INAPPLICABLE_CANDIDATE!>f2<!>(-2147483648)
<!INAPPLICABLE_CANDIDATE!>f2<!>(9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>f2<!>(-9223372036854775807)
f2(<!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f2(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
}
// TESTCASE NUMBER: 3
fun case_3() {
<!INAPPLICABLE_CANDIDATE!>f3<!>(9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>f3<!>(-9223372036854775807)
f3(<!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f3(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
}
// TESTCASE NUMBER: 4
fun case_4() {
f3(<!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
f3(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>1000000000000000000000000000000000000000000000000<!>)
}
@@ -0,0 +1,92 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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 { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
checkSubtype<Long>(-2147483649)
}
// TESTCASE NUMBER: 5
fun case_5() {
9223372036854775807 checkType { check<Long>() }
checkSubtype<Long>(9223372036854775807)
-9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
checkSubtype<Long>(-9223372036854775807)
}
@@ -0,0 +1,92 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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 { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
checkSubtype<Long>(-0x80000001)
}
// TESTCASE NUMBER: 5
fun case_5() {
0X7FFFFFFFFFFFFFFF checkType { check<Long>() }
checkSubtype<Long>(0X7FFFFFFFFFFFFFFF)
-0X7FFFFFFFFFFFFFFF checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
checkSubtype<Long>(-0X7FFFFFFFFFFFFFFF)
}
@@ -0,0 +1,92 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, constant-literals, the-types-for-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 { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
checkSubtype<Long>(-0b10000000000000000000000000000001)
}
// TESTCASE NUMBER: 5
fun case_5() {
0b111111111111111111111111111111111111111111111111111111111111111 checkType { check<Long>() }
checkSubtype<Long>(0b111111111111111111111111111111111111111111111111111111111111111)
-0B111111111111111111111111111111111111111111111111111111111111111 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
checkSubtype<Long>(-0B111111111111111111111111111111111111111111111111111111111111111)
}