summaryrefslogtreecommitdiff
path: root/test/files/pos/t6942/t6942.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-01-20 00:25:36 -0800
committerPaul Phillips <paulp@improving.org>2013-01-20 00:25:36 -0800
commit18a906bb9a6c6b50d286ca76f219a5b351514ae4 (patch)
tree154332b9197c5d6d8c575701e4f3b18d86d41f3c /test/files/pos/t6942/t6942.scala
parent6f72ed85c3882d2a8c824a41e6e42d7f33b8d1d6 (diff)
parent964776f528a8ec4da889638ab41e5dbc8a9164a1 (diff)
downloadscala-18a906bb9a6c6b50d286ca76f219a5b351514ae4.tar.gz
scala-18a906bb9a6c6b50d286ca76f219a5b351514ae4.tar.bz2
scala-18a906bb9a6c6b50d286ca76f219a5b351514ae4.zip
Merge pull request #1915 from adriaanm/ticket-6942
SI-6942 more efficient CNF conversion in patmat analysis
Diffstat (limited to 'test/files/pos/t6942/t6942.scala')
-rw-r--r--test/files/pos/t6942/t6942.scala64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/files/pos/t6942/t6942.scala b/test/files/pos/t6942/t6942.scala
new file mode 100644
index 0000000000..77963d2634
--- /dev/null
+++ b/test/files/pos/t6942/t6942.scala
@@ -0,0 +1,64 @@
+// not a peep out of the pattern matcher's unreachability analysis
+// its budget should suffice for these simple matches (they do have a large search space)
+class Test {
+ import foo.Bar // a large enum
+ def exhaustUnreachabilitysStack_ENUM_STYLE = (null: Bar) match {
+ case Bar.BULGARIA =>
+ case _ =>
+ }
+
+ // lots of strings
+ def exhaustUnreachabilitysStack_StringStyle = "foo" match {
+ case "a" =>
+ case "b" =>
+ case "c" =>
+ case "d" =>
+ case "e" =>
+ case "f" =>
+ case "aa" =>
+ case "ba" =>
+ case "ca" =>
+ case "da" =>
+ case "ea" =>
+ case "f1a" =>
+ case "a1a" =>
+ case "b1a" =>
+ case "c1a" =>
+ case "d1a" =>
+ case "e1a" =>
+ case "f1a2" =>
+ case "f1a0" =>
+ case "a1a2" =>
+ case "b1a2" =>
+ case "c1a2" =>
+ case "d1a2" =>
+ case "e1a2" =>
+ case "f1a3" =>
+ case "_a" =>
+ case "_b" =>
+ case "_c" =>
+ case "_d" =>
+ case "_e" =>
+ case "_f" =>
+ case "_aa" =>
+ case "_ba" =>
+ case "_ca" =>
+ case "_da" =>
+ case "_ea" =>
+ case "_f1a" =>
+ case "_a1a" =>
+ case "_b1a" =>
+ case "_c1a" =>
+ case "_d1a" =>
+ case "_e1a" =>
+ case "_f1a0" =>
+ case "_f1a2" =>
+ case "_a1a2" =>
+ case "_b1a2" =>
+ case "_c1a2" =>
+ case "_d1a2" =>
+ case "_e1a2" =>
+ case "_f1a3" =>
+ case _ =>
+ }
+}