aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-12-16 16:08:26 +0100
committerMartin Odersky <odersky@gmail.com>2013-12-16 16:09:25 +0100
commit58059264842fac39a27356d052680a09c2da7571 (patch)
tree5b3ef0642b19cfbbf7bf91ebc7ec016955fa50b7 /src/dotty/tools/dotc/core
parent36476e46815370ca282cbb3179711125444319e9 (diff)
downloaddotty-58059264842fac39a27356d052680a09c2da7571.tar.gz
dotty-58059264842fac39a27356d052680a09c2da7571.tar.bz2
dotty-58059264842fac39a27356d052680a09c2da7571.zip
Checking for double definitions among class definitions.
Also fixes to typedReturn. Adapted tests accordingly.
Diffstat (limited to 'src/dotty/tools/dotc/core')
-rw-r--r--src/dotty/tools/dotc/core/Denotations.scala8
-rw-r--r--src/dotty/tools/dotc/core/Types.scala1
2 files changed, 8 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Denotations.scala b/src/dotty/tools/dotc/core/Denotations.scala
index c0b805eeb..f21075f11 100644
--- a/src/dotty/tools/dotc/core/Denotations.scala
+++ b/src/dotty/tools/dotc/core/Denotations.scala
@@ -359,7 +359,13 @@ object Denotations {
final def signature(implicit ctx: Context): Signature = {
if (isType) Signature.NotAMethod // don't force info if this is a type SymDenotation
else info match {
- case info: SignedType => info.signature
+ case info: SignedType =>
+ try info.signature
+ catch { // !!! DEBUG
+ case ex: MatchError =>
+ println(s"cannot take signature of ${info.show}")
+ throw ex
+ }
case _ => Signature.NotAMethod
}
}
diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala
index 22d84c4e1..a617f86d2 100644
--- a/src/dotty/tools/dotc/core/Types.scala
+++ b/src/dotty/tools/dotc/core/Types.scala
@@ -1434,6 +1434,7 @@ object Types {
extends CachedGroundType with BindingType with TermType with SignedType { thisMethodType =>
override val resultType = resultTypeExp(this)
+ assert(resultType != NoType, this)
def isJava = false
def isImplicit = false