diff options
author | Lukas Rytz <lukas.rytz@typesafe.com> | 2015-08-10 15:35:07 +0200 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@typesafe.com> | 2015-08-10 15:35:07 +0200 |
commit | 0e41dea46d84cd5bf87cdad3d5dae2bf56403dc0 (patch) | |
tree | 614b35f7226709d039ac19d02b4372a7ca677322 /src | |
parent | 0b47dc2f28c997aed86d6f615da00f48913dd46c (diff) | |
parent | 39ea54bf3eb681de7b0484f60e80002d45ebe7ba (diff) | |
download | scala-0e41dea46d84cd5bf87cdad3d5dae2bf56403dc0.tar.gz scala-0e41dea46d84cd5bf87cdad3d5dae2bf56403dc0.tar.bz2 scala-0e41dea46d84cd5bf87cdad3d5dae2bf56403dc0.zip |
Merge pull request #4688 from retronym/topic/typer-debug-implicits
Fix tracing of implicit search under -Ytyper-debug
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Implicits.scala | 6 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/TypersTracking.scala | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala index 6c37cb96c0..098653fd1f 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala @@ -324,8 +324,10 @@ trait Implicits { */ class ImplicitSearch(tree: Tree, pt: Type, isView: Boolean, context0: Context, pos0: Position = NoPosition) extends Typer(context0) with ImplicitsContextErrors { val searchId = implicitSearchId() - private def typingLog(what: String, msg: => String) = - typingStack.printTyping(tree, f"[search #$searchId] $what $msg") + private def typingLog(what: String, msg: => String) = { + if (printingOk(tree)) + typingStack.printTyping(f"[search #$searchId] $what $msg") + } import infer._ if (Statistics.canEnable) Statistics.incCounter(implicitSearchCount) diff --git a/src/compiler/scala/tools/nsc/typechecker/TypersTracking.scala b/src/compiler/scala/tools/nsc/typechecker/TypersTracking.scala index 550fd4e68d..37fbb73b85 100644 --- a/src/compiler/scala/tools/nsc/typechecker/TypersTracking.scala +++ b/src/compiler/scala/tools/nsc/typechecker/TypersTracking.scala @@ -159,7 +159,7 @@ trait TypersTracking { // Some trees which are typed with mind-numbing frequency and // which add nothing by being printed. Did () type to Unit? Let's // gamble on yes. - private def printingOk(t: Tree) = printTypings && (settings.debug.value || !noPrint(t)) + def printingOk(t: Tree) = printTypings && (settings.debug.value || !noPrint(t)) def noPrintTyping(t: Tree) = (t.tpe ne null) || !printingOk(t) def noPrintAdapt(tree1: Tree, tree2: Tree) = !printingOk(tree1) || ( (tree1.tpe == tree2.tpe) |