diff options
author | Paul Phillips <paulp@improving.org> | 2012-12-10 14:11:28 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-01-30 03:50:52 -0800 |
commit | ff92610c48ad13c17f0374619faa9c2c6e1dd0e5 (patch) | |
tree | 92398cdd1919b1bef9708ba506f12a4651422a74 /test | |
parent | 98534b2cf67efc3930de427bfd1916fcf315fa59 (diff) | |
download | scala-ff92610c48ad13c17f0374619faa9c2c6e1dd0e5.tar.gz scala-ff92610c48ad13c17f0374619faa9c2c6e1dd0e5.tar.bz2 scala-ff92610c48ad13c17f0374619faa9c2c6e1dd0e5.zip |
SI-6595, lost modifiers in early defs.
[backport]
Saw this by accident; the trees created for early defs would
wholesale replace the modifiers with PRESUPER rather than
combining them. FINAL was lost that way, as would be any other
modifiers which might be valid there.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/pos/t6595.flags | 1 | ||||
-rw-r--r-- | test/files/pos/t6595.scala | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/test/files/pos/t6595.flags b/test/files/pos/t6595.flags new file mode 100644 index 0000000000..85d8eb2ba2 --- /dev/null +++ b/test/files/pos/t6595.flags @@ -0,0 +1 @@ +-Xfatal-warnings diff --git a/test/files/pos/t6595.scala b/test/files/pos/t6595.scala new file mode 100644 index 0000000000..437c0bcf05 --- /dev/null +++ b/test/files/pos/t6595.scala @@ -0,0 +1,18 @@ +import scala.annotation.switch + +class Foo extends { + final val b0 = 5 +} with AnyRef { + final val b1 = 10 + + // Using the @switch annotation as a means of testing that the + // type inferred for b0 is Int(5) and not Int. Only in the former + // case can a switch be generated. + def f(p: Int) = (p: @switch) match { + case `b0` => 1 + case `b1` => 2 + case 15 => 3 + case 20 => 4 + case _ => 5 + } +} |