summaryrefslogtreecommitdiff
path: root/test/pending/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@typesafe.com>2016-01-26 06:59:23 +0100
committerLukas Rytz <lukas.rytz@typesafe.com>2016-01-26 06:59:23 +0100
commitef77a5497a64f4fa870e830e9114bd00db269452 (patch)
tree4ce0d9afde8d2c44e0920d276661b0e57ca6d6bb /test/pending/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala
parent90ee1b871236402f8543bf424a4f38d909598b3a (diff)
parent983894f24b6c79934af757173d9e44faecd34069 (diff)
downloadscala-ef77a5497a64f4fa870e830e9114bd00db269452.tar.gz
scala-ef77a5497a64f4fa870e830e9114bd00db269452.tar.bz2
scala-ef77a5497a64f4fa870e830e9114bd00db269452.zip
Merge pull request #4916 from lrytz/restoreASMTests
Restore backend tests that were removed together with GenASM
Diffstat (limited to 'test/pending/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala')
-rw-r--r--test/pending/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala29
1 files changed, 0 insertions, 29 deletions
diff --git a/test/pending/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala b/test/pending/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala
deleted file mode 100644
index b0506018f6..0000000000
--- a/test/pending/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala
+++ /dev/null
@@ -1,29 +0,0 @@
-// this class's bytecode, compiled under -optimize is analyzed by the test
-// method a's bytecode should be identical to method b's bytecode
-// this is not the best test for shielding against regressing on this particular issue,
-// but it sets the stage for checking the bytecode emitted by the pattern matcher and
-// comparing it to manually tuned code using if/then/else etc.
-class SameBytecode {
- case class Foo(x: Any, y: String)
-
- def a =
- Foo(1, "a") match {
- case Foo(_: String, 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, isInstanceOf 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)) {
- if (x1.x.isInstanceOf[String]) {
- return x1.y
- }
- }
-
- throw new MatchError(x1)
- }
-} \ No newline at end of file