blob: 1bf36e8bf2a7323b2c81befcd83ed07deefc2113 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package scala.tools.nsc
package ast
trait FreeVars extends reflect.internal.FreeVars { self: Global =>
import self._
import definitions._
import treeInfo._
def logFreeVars(position: Position, reified: Tree): Unit = {
if (settings.logFreeTerms.value || settings.logFreeTypes.value) {
reified match {
case Reified(_, symbolTable, _) =>
// logging free vars only when they are untyped prevents avalanches of duplicate messages
symbolTable foreach {
case FreeTermDef(_, _, binding, origin) if settings.logFreeTerms.value && binding.tpe == null =>
reporter.echo(position, "free term: %s %s".format(showRaw(binding), origin))
case FreeTypeDef(_, _, binding, origin) if settings.logFreeTypes.value && binding.tpe == null =>
reporter.echo(position, "free type: %s %s".format(showRaw(binding), origin))
case _ =>
// do nothing
}
}
}
}
}
|