aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/reporting/Reporter.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-09-24 16:20:57 +0200
committerMartin Odersky <odersky@gmail.com>2015-10-01 19:33:25 +0200
commit3f4c6a2b63bf94526792d108eaffc761d7d19ee5 (patch)
treef3d29a437d633b9cff252d770c23667d07779e18 /src/dotty/tools/dotc/reporting/Reporter.scala
parentc6b21267c1f96cf8708689319f884d7d5cc04284 (diff)
downloaddotty-3f4c6a2b63bf94526792d108eaffc761d7d19ee5.tar.gz
dotty-3f4c6a2b63bf94526792d108eaffc761d7d19ee5.tar.bz2
dotty-3f4c6a2b63bf94526792d108eaffc761d7d19ee5.zip
Slight code refactoring
Avoid redundant computations when already in printing mode.
Diffstat (limited to 'src/dotty/tools/dotc/reporting/Reporter.scala')
-rw-r--r--src/dotty/tools/dotc/reporting/Reporter.scala23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/dotty/tools/dotc/reporting/Reporter.scala b/src/dotty/tools/dotc/reporting/Reporter.scala
index 766009a8b..086575fb4 100644
--- a/src/dotty/tools/dotc/reporting/Reporter.scala
+++ b/src/dotty/tools/dotc/reporting/Reporter.scala
@@ -149,18 +149,19 @@ trait Reporting { this: Context =>
else traceIndented[T](s"==> $question?", (res: Any) => s"<== $question = ${resStr(res)}")(op)
}
- def traceIndented[T](leading: => String, trailing: Any => String)(op: => T): T = {
- var finalized = false
- var logctx = this
- while (logctx.reporter.isInstanceOf[StoreReporter]) logctx = logctx.outer
- def finalize(result: Any, note: String) =
- if (!finalized) {
- base.indent -= 1
- logctx.log(s"${base.indentTab * base.indent}${trailing(result)}$note")
- finalized = true
- }
+ def traceIndented[T](leading: => String, trailing: Any => String)(op: => T): T =
if (ctx.mode.is(Mode.Printing)) op
- else try {
+ else {
+ var finalized = false
+ var logctx = this
+ while (logctx.reporter.isInstanceOf[StoreReporter]) logctx = logctx.outer
+ def finalize(result: Any, note: String) =
+ if (!finalized) {
+ base.indent -= 1
+ logctx.log(s"${base.indentTab * base.indent}${trailing(result)}$note")
+ finalized = true
+ }
+ try {
logctx.log(s"${base.indentTab * base.indent}$leading")
base.indent += 1
val res = op