diff options
author | Martin Odersky <odersky@gmail.com> | 2006-12-11 11:35:38 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-12-11 11:35:38 +0000 |
commit | 64c81890a5ac1ef27db7e7a44de4239365441341 (patch) | |
tree | bbf5777c905b14535c49442a7d40a86381a226bc /src/compiler/scala/tools/nsc/typechecker/Typers.scala | |
parent | 593deb5d5004162a35a98277900d2baeb40c09c8 (diff) | |
download | scala-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.scala | 14 |
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 { |