diff options
author | Martin Odersky <odersky@gmail.com> | 2013-09-25 15:02:59 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-09-25 15:02:59 +0200 |
commit | b7f5aa30383730dc1d2b34f9773695d0f5669bcd (patch) | |
tree | 2e3dc8e18a09c1f7ca271c4f282be972aeab34fd /src/dotty/tools/dotc/core/TypeComparer.scala | |
parent | 50a84e0e900fd5a67a4701fd2730a0c0bf66b834 (diff) | |
download | dotty-b7f5aa30383730dc1d2b34f9773695d0f5669bcd.tar.gz dotty-b7f5aa30383730dc1d2b34f9773695d0f5669bcd.tar.bz2 dotty-b7f5aa30383730dc1d2b34f9773695d0f5669bcd.zip |
Sereval more bugfixes to typer and type handling.
Several of these avoided stackoverflows/cyclic references
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeComparer.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/TypeComparer.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/TypeComparer.scala b/src/dotty/tools/dotc/core/TypeComparer.scala index e07410a89..f723dca48 100644 --- a/src/dotty/tools/dotc/core/TypeComparer.scala +++ b/src/dotty/tools/dotc/core/TypeComparer.scala @@ -21,7 +21,7 @@ class TypeComparer(initctx: Context) extends DotClass { private var pendingSubTypes: mutable.Set[(Type, Type)] = null private var recCount = 0 - private var frozenConstraint = false + protected var frozenConstraint = false private var myAnyClass: ClassSymbol = null private var myNothingClass: ClassSymbol = null @@ -572,6 +572,11 @@ class ExplainingTypeComparer(initctx: Context) extends TypeComparer(initctx) { super.glb(tp1, tp2) } + override def addConstraint(param: PolyParam, bounds: TypeBounds): Boolean = + traceIndented(s"add constraint $param $bounds $frozenConstraint") { + super.addConstraint(param, bounds) + } + override def copyIn(ctx: Context) = new ExplainingTypeComparer(ctx) override def toString = |