aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/pickleOK/Labels.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-03-05 13:22:00 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:14:15 +0100
commit321563940dee1716c19600efd57acb9ed83a7687 (patch)
tree9053dfcff007d16ceb6dbaa7256889455a7a07a7 /tests/pos/pickleOK/Labels.scala
parent7fd242f2f1b1d2f536e73ec0fdb92a34b27b2a89 (diff)
downloaddotty-321563940dee1716c19600efd57acb9ed83a7687.tar.gz
dotty-321563940dee1716c19600efd57acb9ed83a7687.tar.bz2
dotty-321563940dee1716c19600efd57acb9ed83a7687.zip
Compute PureInterface flag after pickling.
ElimLocals becomes a slightly less trivial transform: NormalizeFlags. It also computes PureInterface flag, thus relieving Namer and Unpickler from doing the same in two different ways. Besides, the computation in Namer/TreeInfo was flawed because it did not take into account that nested non-static classes are not allowed in an interface (only static classes are, but these would not be members of the interface in the Scala sense).
Diffstat (limited to 'tests/pos/pickleOK/Labels.scala')
-rw-r--r--tests/pos/pickleOK/Labels.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/pos/pickleOK/Labels.scala b/tests/pos/pickleOK/Labels.scala
new file mode 100644
index 000000000..4a84175af
--- /dev/null
+++ b/tests/pos/pickleOK/Labels.scala
@@ -0,0 +1,21 @@
+object Labels {
+ def main(args: Array[String]): Unit = {
+ var i = 10
+ while(i>0) {
+ var j = 0
+ while(j<i) {
+ println(j+" " + i)
+ j = j +1
+ }
+ i = i - 1}
+ pattern(1)
+ pattern(2)
+ pattern(3)
+ }
+
+ def pattern(a: Int) = a match {
+ case 1 if (a>0) => println("one")
+ case t@2 => println("two" + t)
+ case _ => println("default")
+ }
+}