'As' function for constants

This commit is contained in:
Natalia Ukhorskaya
2013-12-17 12:52:18 +04:00
parent b4ad149e77
commit 7a9d822070
9 changed files with 136 additions and 14 deletions
@@ -30,11 +30,11 @@ fun test() {
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>: Double
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>: Float
1 <!USELESS_CAST!>as<!> Byte
1 <!CAST_NEVER_SUCCEEDS!>as<!> Byte
1 <!USELESS_CAST!>as<!> Int
0xff <!USELESS_CAST!>as<!> Long
0xff <!CAST_NEVER_SUCCEEDS!>as<!> Long
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1.1<!> <!CAST_NEVER_SUCCEEDS!>as<!> Int
1.1 <!CAST_NEVER_SUCCEEDS!>as<!> Int
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1.1<!>: Int
varargByte(0x77, 1, 3, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>200<!>, 0b111)
@@ -0,0 +1,51 @@
fun asCall() {
1 <!USELESS_CAST!>as<!> Int
1 <!CAST_NEVER_SUCCEEDS!>as<!> Byte
1 <!CAST_NEVER_SUCCEEDS!>as<!> Short
1 <!CAST_NEVER_SUCCEEDS!>as<!> Long
1 <!CAST_NEVER_SUCCEEDS!>as<!> Char
1 <!CAST_NEVER_SUCCEEDS!>as<!> Double
1 <!CAST_NEVER_SUCCEEDS!>as<!> Float
1.0 <!CAST_NEVER_SUCCEEDS!>as<!> Int
1.0 <!CAST_NEVER_SUCCEEDS!>as<!> Byte
1.0 <!CAST_NEVER_SUCCEEDS!>as<!> Short
1.0 <!CAST_NEVER_SUCCEEDS!>as<!> Long
1.0 <!CAST_NEVER_SUCCEEDS!>as<!> Char
1.0 <!USELESS_CAST!>as<!> Double
1.0 <!CAST_NEVER_SUCCEEDS!>as<!> Float
1f <!CAST_NEVER_SUCCEEDS!>as<!> Int
1f <!CAST_NEVER_SUCCEEDS!>as<!> Byte
1f <!CAST_NEVER_SUCCEEDS!>as<!> Short
1f <!CAST_NEVER_SUCCEEDS!>as<!> Long
1f <!CAST_NEVER_SUCCEEDS!>as<!> Char
1f <!CAST_NEVER_SUCCEEDS!>as<!> Double
1f <!USELESS_CAST!>as<!> Float
}
fun asSafe() {
1 <!USELESS_CAST!>as?<!> Int
1 <!CAST_NEVER_SUCCEEDS!>as?<!> Byte
1 <!CAST_NEVER_SUCCEEDS!>as?<!> Short
1 <!CAST_NEVER_SUCCEEDS!>as?<!> Long
1 <!CAST_NEVER_SUCCEEDS!>as?<!> Char
1 <!CAST_NEVER_SUCCEEDS!>as?<!> Double
1 <!CAST_NEVER_SUCCEEDS!>as?<!> Float
1.0 <!CAST_NEVER_SUCCEEDS!>as?<!> Int
1.0 <!CAST_NEVER_SUCCEEDS!>as?<!> Byte
1.0 <!CAST_NEVER_SUCCEEDS!>as?<!> Short
1.0 <!CAST_NEVER_SUCCEEDS!>as?<!> Long
1.0 <!CAST_NEVER_SUCCEEDS!>as?<!> Char
1.0 <!USELESS_CAST!>as?<!> Double
1.0 <!CAST_NEVER_SUCCEEDS!>as?<!> Float
1f <!CAST_NEVER_SUCCEEDS!>as?<!> Int
1f <!CAST_NEVER_SUCCEEDS!>as?<!> Byte
1f <!CAST_NEVER_SUCCEEDS!>as?<!> Short
1f <!CAST_NEVER_SUCCEEDS!>as?<!> Long
1f <!CAST_NEVER_SUCCEEDS!>as?<!> Char
1f <!CAST_NEVER_SUCCEEDS!>as?<!> Double
1f <!USELESS_CAST!>as?<!> Float
}