No arithmetic for Chars (except for '-')
This commit is contained in:
@@ -499,7 +499,7 @@ class Char : Number, Comparable<Char> {
|
||||
fun plus(other : Int) : Int
|
||||
fun plus(other : Short) : Int
|
||||
fun plus(other : Byte) : Int
|
||||
fun plus(other : Char) : Int
|
||||
// fun plus(other : Char) : Int
|
||||
|
||||
fun minus(other : Double) : Double
|
||||
fun minus(other : Float) : Float
|
||||
@@ -515,7 +515,7 @@ class Char : Number, Comparable<Char> {
|
||||
fun times(other : Int) : Int
|
||||
fun times(other : Short) : Int
|
||||
fun times(other : Byte) : Int
|
||||
fun times(other : Char) : Int
|
||||
// fun times(other : Char) : Int
|
||||
|
||||
fun div(other : Double) : Double
|
||||
fun div(other : Float) : Float
|
||||
@@ -523,7 +523,7 @@ class Char : Number, Comparable<Char> {
|
||||
fun div(other : Int) : Int
|
||||
fun div(other : Short) : Int
|
||||
fun div(other : Byte) : Int
|
||||
fun div(other : Char) : Int
|
||||
// fun div(other : Char) : Int
|
||||
|
||||
fun mod(other : Double) : Double
|
||||
fun mod(other : Float) : Float
|
||||
@@ -531,7 +531,7 @@ class Char : Number, Comparable<Char> {
|
||||
fun mod(other : Int) : Int
|
||||
fun mod(other : Short) : Int
|
||||
fun mod(other : Byte) : Int
|
||||
fun mod(other : Char) : Int
|
||||
// fun mod(other : Char) : Int
|
||||
|
||||
fun rangeTo(other : Double) : Range<Double>
|
||||
fun rangeTo(other : Float) : Range<Float>
|
||||
|
||||
@@ -104,7 +104,8 @@ public class PrimitiveTypesTest extends CodegenTestCase {
|
||||
}
|
||||
|
||||
public void testChar() throws Exception {
|
||||
binOpTest("fun foo(a: Char, b: Char): Int = a + b", 'A', (char) 3, (int) 'D');
|
||||
// '+' is not available for Chars
|
||||
binOpTest("fun foo(a: Char, b: Char): Int = a - b", 'D', (char) 3, (int) 'A');
|
||||
}
|
||||
|
||||
public void testFloat() throws Exception {
|
||||
|
||||
@@ -395,7 +395,7 @@ public class JetTypeCheckerTest extends JetLiteFixture {
|
||||
assertType("'1'.plus(1.flt)", "Float");
|
||||
assertType("'1'.plus(1.lng)", "Long");
|
||||
assertType("'1'.plus(1)", "Int");
|
||||
assertType("'1'.plus('1')", "Int");
|
||||
assertType("'1'.minus('1')", "Int"); // Plus is not available for char
|
||||
|
||||
assertType("(1:Short).plus(1.dbl)", "Double");
|
||||
assertType("(1:Short).plus(1.flt)", "Float");
|
||||
|
||||
Reference in New Issue
Block a user