diff options
author | Paul Phillips <paulp@improving.org> | 2013-02-20 08:51:30 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-02-20 08:51:50 -0800 |
commit | d8ba6afbd4c039b26562a331f0b1ec3885c0e121 (patch) | |
tree | db66d0c0665b0f42c35647f00d9ed088e2f12168 /test/files/jvm/value-class-boxing/Analyzed_1.scala | |
parent | bafebe1c161f8db0be758c30fe5cc51082a56427 (diff) | |
download | scala-d8ba6afbd4c039b26562a331f0b1ec3885c0e121.tar.gz scala-d8ba6afbd4c039b26562a331f0b1ec3885c0e121.tar.bz2 scala-d8ba6afbd4c039b26562a331f0b1ec3885c0e121.zip |
Boxing cleanup: erasure, post-erasure, value classes.
Introduces extractors for value class trees. Puts them to
work to make the value class tree manipulations believable.
Eliminated some boxing code in erasure which had been
marked "maybe subsumed by posterasure?" after deciding
that it had been subsumed by posterasure.
Added some same-bytecode tests involving value class boxing
(actually the lack thereof.)
Diffstat (limited to 'test/files/jvm/value-class-boxing/Analyzed_1.scala')
-rw-r--r-- | test/files/jvm/value-class-boxing/Analyzed_1.scala | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/files/jvm/value-class-boxing/Analyzed_1.scala b/test/files/jvm/value-class-boxing/Analyzed_1.scala new file mode 100644 index 0000000000..dec8565351 --- /dev/null +++ b/test/files/jvm/value-class-boxing/Analyzed_1.scala @@ -0,0 +1,17 @@ +class Wrap(val x: Int) extends AnyVal { + def ***(other: Bip): Wrap = new Wrap(x * other.x) +} +class Bip(val x: Int) extends AnyVal + +class SameBytecode { + def a1(x: Int, y: Int): Int = x + y + def a2(x: Wrap, y: Wrap): Wrap = new Wrap(x.x + y.x) + def a3(x: Int, y: Wrap): Wrap = new Wrap(x + y.x) + def a4(x: Int, y: Wrap): Int = x + y.x + + def b1(x: Wrap, y: Int): Int = (x *** new Bip(y)).x + def b2(x: Wrap, y: Bip): Wrap = x *** y + def b3(x: Wrap, y: Int): Wrap = x *** new Bip(y) + def b4(x: Wrap, y: Bip): Bip = new Bip((x *** y).x) + def b5(x: Wrap, y: Int): Bip = new Bip((x *** new Bip(y)).x) +} |