summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Namers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2008-08-06 13:33:11 +0000
committerMartin Odersky <odersky@gmail.com>2008-08-06 13:33:11 +0000
commit64d08622225906e5ad20b0deecd1c3d9c33a7ebb (patch)
tree6dd679e5908e91efa22ba5b03cc23cdf727fb5fa /src/compiler/scala/tools/nsc/typechecker/Namers.scala
parent51f09101bb08a0d4e52ec4adb43bd72105e07e3d (diff)
downloadscala-64d08622225906e5ad20b0deecd1c3d9c33a7ebb.tar.gz
scala-64d08622225906e5ad20b0deecd1c3d9c33a7ebb.tar.bz2
scala-64d08622225906e5ad20b0deecd1c3d9c33a7ebb.zip
Fixed #1130 and #1168
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Namers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index ece9bc1028..f6e6d4ef22 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -334,12 +334,13 @@ trait Namers { self: Analyzer =>
tree.symbol = enterInScope(owner.newValue(tree.pos, name)
.setFlag(mods.flags))
finish
- }
- else if (context.owner.isClass && (mods.flags & (PRIVATE | LOCAL)) != (PRIVATE | LOCAL)
- || (mods.flags & LAZY) != 0) {
+ } else if (context.owner.isClass && (mods.flags & (PRIVATE | LOCAL)) != (PRIVATE | LOCAL)
+ || (mods.flags & LAZY) != 0) {
val accflags: Long = ACCESSOR |
(if ((mods.flags & MUTABLE) != 0) mods.flags & ~MUTABLE & ~PRESUPER
else mods.flags & ~PRESUPER | STABLE)
+ if (nme.isSetterName(name))
+ context.error(tree.pos, "Names of vals or vars may not end in `_='")
var getter = owner.newMethod(tree.pos, name).setFlag(accflags)
setPrivateWithin(tree, getter, mods)
getter = enterInScope(getter).asInstanceOf[TermSymbol]