diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2016-01-24 13:03:22 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2016-01-24 13:03:22 +0100 |
commit | b0831e774e290148ce28cb7957794542dffe0366 (patch) | |
tree | 1380b224b4fe31598b07b3ddee9a46ff2e3eaf10 /test/files/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala | |
parent | 1a9e649e34cda4306537d74ab425c33d5f6a77db (diff) | |
parent | 1081e718f8f8e174dbf615e42b157e187d3d3886 (diff) | |
download | scala-b0831e774e290148ce28cb7957794542dffe0366.tar.gz scala-b0831e774e290148ce28cb7957794542dffe0366.tar.bz2 scala-b0831e774e290148ce28cb7957794542dffe0366.zip |
Merge remote-tracking branch 'upstream/2.12.x' into opt/elimBoxes
Diffstat (limited to 'test/files/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala')
-rw-r--r-- | test/files/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/test/files/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala b/test/files/jvm/patmat_opt_ignore_underscore/Analyzed_1.scala deleted file mode 100644 index b0506018f6..0000000000 --- a/test/files/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 |