diff options
author | Ingo Maier <ingo.maier@epfl.ch> | 2009-03-30 13:20:32 +0000 |
---|---|---|
committer | Ingo Maier <ingo.maier@epfl.ch> | 2009-03-30 13:20:32 +0000 |
commit | 651294e1402d7dadef5ec6ee73b4c2aa690d5fbb (patch) | |
tree | 05d7f37972de0939f4b9a4967da95d8eba8f1f22 | |
parent | 8087f9b529ad79a403a29117408632366a7534d9 (diff) | |
download | scala-651294e1402d7dadef5ec6ee73b4c2aa690d5fbb.tar.gz scala-651294e1402d7dadef5ec6ee73b4c2aa690d5fbb.tar.bz2 scala-651294e1402d7dadef5ec6ee73b4c2aa690d5fbb.zip |
Fix for #1838
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Namers.scala | 2 | ||||
-rw-r--r-- | test/files/neg/bug1838.check | 7 | ||||
-rw-r--r-- | test/files/neg/bug1838.scala | 7 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala index ab65225a78..3a7880f326 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala @@ -1003,6 +1003,8 @@ trait Namers { self: Analyzer => context.error(sym.pos, "`implicit' modifier can be used only for values, variables and methods") if (sym.hasFlag(IMPLICIT) && sym.owner.isPackageClass && !inIDE) context.error(sym.pos, "`implicit' modifier cannot be used for top-level objects") + if (sym.hasFlag(SEALED) && !sym.isClass) + context.error(sym.pos, "`sealed' modifier can be used only for classes") if (sym.hasFlag(ABSTRACT) && !sym.isClass) context.error(sym.pos, "`abstract' modifier can be used only for classes; " + "\nit should be omitted for abstract members") diff --git a/test/files/neg/bug1838.check b/test/files/neg/bug1838.check new file mode 100644 index 0000000000..0c08bfe283 --- /dev/null +++ b/test/files/neg/bug1838.check @@ -0,0 +1,7 @@ +bug1838.scala:6: error: `sealed' modifier can be used only for classes + sealed val v = 0 + ^ +bug1838.scala:5: error: `sealed' modifier can be used only for classes + sealed def f = 0 + ^ +two errors found diff --git a/test/files/neg/bug1838.scala b/test/files/neg/bug1838.scala new file mode 100644 index 0000000000..7c418e74e1 --- /dev/null +++ b/test/files/neg/bug1838.scala @@ -0,0 +1,7 @@ +package test + +class A { + sealed class B + sealed def f = 0 + sealed val v = 0 +}
\ No newline at end of file |