summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-12-11 11:35:38 +0000
committerMartin Odersky <odersky@gmail.com>2006-12-11 11:35:38 +0000
commit64c81890a5ac1ef27db7e7a44de4239365441341 (patch)
treebbf5777c905b14535c49442a7d40a86381a226bc /src/compiler/scala/tools/nsc/typechecker/Typers.scala
parent593deb5d5004162a35a98277900d2baeb40c09c8 (diff)
downloadscala-64c81890a5ac1ef27db7e7a44de4239365441341.tar.gz
scala-64c81890a5ac1ef27db7e7a44de4239365441341.tar.bz2
scala-64c81890a5ac1ef27db7e7a44de4239365441341.zip
added infix types and {...} syntax for tuples.
changed a confusing error message "value this is not a member of T".
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 75a0229869..aa6f5148f8 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -1664,13 +1664,15 @@ trait Typers requires Analyzer {
if (!sym.exists) {
if (settings.debug.value) Console.err.println("qual = "+qual+":"+qual.tpe+"\nSymbol="+qual.tpe.symbol+"\nsymbol-info = "+qual.tpe.symbol.info+"\nscope-id = "+qual.tpe.symbol.info.decls.hashCode()+"\nmembers = "+qual.tpe.members+"\nname = "+name+"\nfound = "+sym+"\nowner = "+context.enclClass.owner)
if (!qual.tpe.widen.isErroneous) {
- if (false && (context.unit eq null)) assert(false, "("+qual+":"+qual.tpe+")."+name)
error(tree.pos,
- decode(name)+" is not a member of "+qual.tpe.widen +
- (if ((context.unit ne null) && Position.line(context.unit.source, qual.pos) <
- Position.line(context.unit.source, tree.pos))
- "\npossible cause: maybe a semicolon is missing before `"+decode(name)+"'?"
- else ""))
+ if (name == nme.CONSTRUCTOR)
+ qual.tpe.widen+" does not have a constructor"
+ else
+ decode(name)+" is not a member of "+qual.tpe.widen +
+ (if ((context.unit ne null) && Position.line(context.unit.source, qual.pos) <
+ Position.line(context.unit.source, tree.pos))
+ "\npossible cause: maybe a semicolon is missing before `"+decode(name)+"'?"
+ else ""))
}
setError(tree)
} else {