aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/TypeComparer.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-09-25 15:02:59 +0200
committerMartin Odersky <odersky@gmail.com>2013-09-25 15:02:59 +0200
commitb7f5aa30383730dc1d2b34f9773695d0f5669bcd (patch)
tree2e3dc8e18a09c1f7ca271c4f282be972aeab34fd /src/dotty/tools/dotc/core/TypeComparer.scala
parent50a84e0e900fd5a67a4701fd2730a0c0bf66b834 (diff)
downloaddotty-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.scala7
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 =