aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-10-23 12:24:31 +0200
committerMartin Odersky <odersky@gmail.com>2013-10-23 12:24:31 +0200
commit863e27b940215b2d0f9a9bf8b09b4f5f4b83409e (patch)
tree49cbe19870e86be7cc11fe7b0cb3b801586fa51b
parent0661c2e7626adbe23216e89e221a4cda33ef0d85 (diff)
downloaddotty-863e27b940215b2d0f9a9bf8b09b4f5f4b83409e.tar.gz
dotty-863e27b940215b2d0f9a9bf8b09b4f5f4b83409e.tar.bz2
dotty-863e27b940215b2d0f9a9bf8b09b4f5f4b83409e.zip
Making explanations available outside type comparers
-rw-r--r--src/dotty/tools/dotc/core/TypeComparer.scala14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/TypeComparer.scala b/src/dotty/tools/dotc/core/TypeComparer.scala
index 1b8350841..727b18e77 100644
--- a/src/dotty/tools/dotc/core/TypeComparer.scala
+++ b/src/dotty/tools/dotc/core/TypeComparer.scala
@@ -788,6 +788,8 @@ class TypeComparer(initctx: Context) extends DotClass {
}
*/
def copyIn(ctx: Context) = new TypeComparer(ctx)
+
+ def traceIndented[T](str: String)(op: => T): T = op
}
object TypeComparer {
@@ -802,7 +804,17 @@ class ExplainingTypeComparer(initctx: Context) extends TypeComparer(initctx) {
private var indent = 0
private val b = new StringBuilder
- def traceIndented[T](str: String)(op: => T): T = {
+ private var skipped = false
+
+ override def traceIndented[T](str: String)(op: => T): T =
+ if (skipped)
+ op
+/*
+ else if (str startsWith " =+ scala.collection.immutable.List <:< =+ scala.collection.immutable.List") {
+ skipped = true
+ try op
+ finally skipped = false
+ }*/ else {
indent += 2
b append "\n" append (" " * indent) append "==> " append str
val res = op