summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-05-16 11:45:01 +0000
committerMartin Odersky <odersky@gmail.com>2006-05-16 11:45:01 +0000
commit5c11f952af7017a7d45b56f136a903e128aefcca (patch)
treeb1b654a09f8e964a765d383579b73a56cb691418
parent332ab9f485d457c6f14abd46e548eecbb79ea602 (diff)
downloadscala-5c11f952af7017a7d45b56f136a903e128aefcca.tar.gz
scala-5c11f952af7017a7d45b56f136a903e128aefcca.tar.bz2
scala-5c11f952af7017a7d45b56f136a903e128aefcca.zip
Fixed bug 591
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala4
-rw-r--r--test/files/neg/bug591.check4
-rw-r--r--test/files/neg/bug591.scala (renamed from test/files/pos/bug591.scala)0
3 files changed, 7 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 0474700a1b..d7390fd053 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -654,8 +654,10 @@ trait Typers requires Analyzer {
result
}
def setterDef: DefDef = {
- val setter = value.owner.info.decl(nme.getterToSetter(getter.name));
+ val setter = value.owner.info.decl(nme.getterToSetter(getter.name)).suchThat(.isSetter)
+
assert(setter != NoSymbol, getter);//debug
+
atPos(vdef.pos)(
DefDef(setter, vparamss =>
if (mods hasFlag DEFERRED) EmptyTree
diff --git a/test/files/neg/bug591.check b/test/files/neg/bug591.check
new file mode 100644
index 0000000000..9d1a090053
--- /dev/null
+++ b/test/files/neg/bug591.check
@@ -0,0 +1,4 @@
+bug591.scala:38 error: method input_= is defined twice
+ def input_=(in : Input) = {}
+ ^
+one error found
diff --git a/test/files/pos/bug591.scala b/test/files/neg/bug591.scala
index 94d8068bb3..94d8068bb3 100644
--- a/test/files/pos/bug591.scala
+++ b/test/files/neg/bug591.scala