diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2014-12-05 16:35:01 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2014-12-11 16:41:19 +0100 |
commit | 2c4ef6b8bfa87b31db79ebc9a5c2c123149f6fb8 (patch) | |
tree | 5758c095675063087065b39e837d0d1b4151c79c /test/files/run | |
parent | 124cf2f62f559caf37a5d5df7e15db7ba5958bcf (diff) | |
download | scala-2c4ef6b8bfa87b31db79ebc9a5c2c123149f6fb8.tar.gz scala-2c4ef6b8bfa87b31db79ebc9a5c2c123149f6fb8.tar.bz2 scala-2c4ef6b8bfa87b31db79ebc9a5c2c123149f6fb8.zip |
[nomerge] SI-9030 don't call private BoxesRunTime.equalsNumChar
When comparing a Number and a Character, the would emit a call to the
private method. For binary compatibility, this method remains private
in 2.11, so we just use equalsNumObject instead.
Diffstat (limited to 'test/files/run')
-rw-r--r-- | test/files/run/t9030.scala | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/files/run/t9030.scala b/test/files/run/t9030.scala new file mode 100644 index 0000000000..48d24e5b54 --- /dev/null +++ b/test/files/run/t9030.scala @@ -0,0 +1,19 @@ +object Test extends App { + + // For these methods, the compiler emits calls to BoxesRuntime.equalsNumNum/equalsNumChar/equalsNumObject directly + + def numNum(a: java.lang.Number, b: java.lang.Number) = assert(a == b) + def numChar(a: java.lang.Number, b: java.lang.Character) = assert(a == b) + def numObject(a: java.lang.Number, b: java.lang.Object) = assert(a == b) + + // The compiler doesn't use equalsCharObject directly, but still adding an example for completeness + + def charObject(a: java.lang.Character, b: java.lang.Object) = assert(a == b) + + numNum(new Integer(1), new Integer(1)) + numChar(new Integer(97), new Character('a')) + numObject(new Integer(1), new Integer(1)) + numObject(new Integer(97), new Character('a')) + + charObject(new Character('a'), new Integer(97)) +} |