diff options
author | Simon Ochsenreither <simon@ochsenreither.de> | 2015-09-16 17:31:02 +0200 |
---|---|---|
committer | Simon Ochsenreither <simon@ochsenreither.de> | 2015-10-27 15:43:08 +0100 |
commit | 1a8daa2d6cbf46a7cdd9180c11c641adabcf6d92 (patch) | |
tree | b7014fdfe397864c621322bfe00ff3307df5017e /test/pending/jvm/patmat_opt_primitive_typetest/Analyzed_1.scala | |
parent | 4321ea458ad1258f273ee22a4c6a7606ab054501 (diff) | |
download | scala-1a8daa2d6cbf46a7cdd9180c11c641adabcf6d92.tar.gz scala-1a8daa2d6cbf46a7cdd9180c11c641adabcf6d92.tar.bz2 scala-1a8daa2d6cbf46a7cdd9180c11c641adabcf6d92.zip |
Remove GenASM, merge remaining common code snippets
With GenBCode being the default and only supported backend for Java 8,
we can get rid of GenASM.
This commit also fixes/migrates/moves to pending/deletes tests which
depended on GenASM before.
Diffstat (limited to 'test/pending/jvm/patmat_opt_primitive_typetest/Analyzed_1.scala')
-rw-r--r-- | test/pending/jvm/patmat_opt_primitive_typetest/Analyzed_1.scala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/pending/jvm/patmat_opt_primitive_typetest/Analyzed_1.scala b/test/pending/jvm/patmat_opt_primitive_typetest/Analyzed_1.scala new file mode 100644 index 0000000000..c961082fa7 --- /dev/null +++ b/test/pending/jvm/patmat_opt_primitive_typetest/Analyzed_1.scala @@ -0,0 +1,24 @@ +// this class's bytecode, compiled under -optimize is analyzed by the test +// method a's bytecode should be identical to method b's bytecode +class SameBytecode { + case class Foo(x: Int, y: String) + + def a = + Foo(1, "a") match { + case Foo(_: Int, y) => y + } + + // this method's body holds the tree that should be generated by the pattern matcher for method a (-Xprint:patmat) + // the test checks that bytecode for a and b is identical (modulo line numbers) + // we can't diff trees as they are quite different (patmat uses jumps to labels that cannot be expressed in source, for example) + // note that the actual tree is quite bad: we do an unnecessary null check, and local val (x3) + // some of these will be fixed soon (the initial null check is for the scrutinee, which is harder to fix in patmat) + def b: String = { + val x1 = Foo(1, "a") + if (x1.ne(null)) { + return x1.y + } + + throw new MatchError(x1) + } +}
\ No newline at end of file |