diff options
author | Martin Odersky <odersky@gmail.com> | 2015-01-12 12:36:45 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-01-12 12:36:45 +0100 |
commit | 7df0423e49e81904ba703d44b0389d3a544aa946 (patch) | |
tree | 0c19deb93a0996850aed3962e87372da6619b629 /src/dotty/tools/dotc/core/ConstraintRunInfo.scala | |
parent | 9c53aaa7e3381eb684ff7eb71ab8b980cfa51abc (diff) | |
download | dotty-7df0423e49e81904ba703d44b0389d3a544aa946.tar.gz dotty-7df0423e49e81904ba703d44b0389d3a544aa946.tar.bz2 dotty-7df0423e49e81904ba703d44b0389d3a544aa946.zip |
Made constraint data structures pluggable.
Factored out interface for constraints. Current implementation: NaiveConstraint.
Preparing for a more efficient one.
Diffstat (limited to 'src/dotty/tools/dotc/core/ConstraintRunInfo.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/ConstraintRunInfo.scala | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/ConstraintRunInfo.scala b/src/dotty/tools/dotc/core/ConstraintRunInfo.scala new file mode 100644 index 000000000..4b7e22653 --- /dev/null +++ b/src/dotty/tools/dotc/core/ConstraintRunInfo.scala @@ -0,0 +1,16 @@ +package dotty.tools.dotc +package core + +import Contexts._, config.Printers._ + +trait ConstraintRunInfo { self: RunInfo => + private var maxSize = 0 + private var maxConstraint: Constraint = _ + def recordConstraintSize(c: Constraint, size: Int) = + if (size > maxSize) { + maxSize = size + maxConstraint = c + } + def printMaxConstraint()(implicit ctx: Context) = + if (maxSize > 0) typr.println(s"max constraint = ${maxConstraint.show}") +} |