diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-09-23 16:04:41 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-09-23 16:04:41 +0200 |
commit | 23064fce9629fdf001c3138fcd8c87ba4a398a37 (patch) | |
tree | 4fc63d901b333ed7e8b6b1aee5d7f083568bec03 /src/dotty/tools/dotc/transform/TreeChecker.scala | |
parent | e2a130a32e8ec67bfc834f93ed44490bc9a83399 (diff) | |
download | dotty-23064fce9629fdf001c3138fcd8c87ba4a398a37.tar.gz dotty-23064fce9629fdf001c3138fcd8c87ba4a398a37.tar.bz2 dotty-23064fce9629fdf001c3138fcd8c87ba4a398a37.zip |
Patmat now succeeds tests.
@odersky there are some tests disabled, which failed due to other phases being able to transform more code.
Diffstat (limited to 'src/dotty/tools/dotc/transform/TreeChecker.scala')
-rw-r--r-- | src/dotty/tools/dotc/transform/TreeChecker.scala | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/TreeChecker.scala b/src/dotty/tools/dotc/transform/TreeChecker.scala index a30ff3296..6d6a88e36 100644 --- a/src/dotty/tools/dotc/transform/TreeChecker.scala +++ b/src/dotty/tools/dotc/transform/TreeChecker.scala @@ -90,8 +90,10 @@ class TreeChecker { ctxOwner.isTerm && (!(ctxOwner is Method | Lazy | Mutable) || (ctxOwner is Label)) && ownerMatches(symOwner, ctxOwner.owner) } - assert(ownerMatches(tree.symbol.owner, ctx.owner), - i"bad owner; ${tree.symbol} has owner ${tree.symbol.owner}, expected was ${ctx.owner}") + if(!ownerMatches(tree.symbol.owner, ctx.owner)) { + assert(ownerMatches(tree.symbol.owner, ctx.owner), + i"bad owner; ${tree.symbol} has owner ${tree.symbol.owner}, expected was ${ctx.owner}") + } } override def typedClassDef(cdef: untpd.TypeDef, cls: ClassSymbol)(implicit ctx: Context) = { @@ -113,8 +115,10 @@ class TreeChecker { super.typedStats(trees, exprOwner) } + override def adapt(tree: Tree, pt: Type, original: untpd.Tree = untpd.EmptyTree)(implicit ctx: Context) = { if (ctx.mode.isExpr) + if(!(tree.tpe <:< pt)) assert(tree.tpe <:< pt, s"error at ${sourcePos(tree.pos)}\n" + err.typeMismatchStr(tree.tpe, pt)) |