summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/internal/BaseTypeSeqs.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2012-06-18 17:20:14 +0200
committerAdriaan Moors <adriaan.moors@epfl.ch>2012-06-19 10:38:48 +0200
commit8284486a155f145bf61019fc0bd8b56b8d327ff2 (patch)
tree3babc67e2ca41656eac8827f3e83bff0c129f2e9 /src/reflect/scala/reflect/internal/BaseTypeSeqs.scala
parent736f622f770700a9c18b84e6a76e31260990496c (diff)
downloadscala-8284486a155f145bf61019fc0bd8b56b8d327ff2.tar.gz
scala-8284486a155f145bf61019fc0bd8b56b8d327ff2.tar.bz2
scala-8284486a155f145bf61019fc0bd8b56b8d327ff2.zip
Statistics reorganization
Statistics were broken since the move to reflect.internal. They are now re-organized, made more robost and modular.
Diffstat (limited to 'src/reflect/scala/reflect/internal/BaseTypeSeqs.scala')
-rw-r--r--src/reflect/scala/reflect/internal/BaseTypeSeqs.scala12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/reflect/scala/reflect/internal/BaseTypeSeqs.scala b/src/reflect/scala/reflect/internal/BaseTypeSeqs.scala
index 5f78671012..fa758edf05 100644
--- a/src/reflect/scala/reflect/internal/BaseTypeSeqs.scala
+++ b/src/reflect/scala/reflect/internal/BaseTypeSeqs.scala
@@ -8,7 +8,7 @@ package internal
// todo implement in terms of BitSet
import scala.collection.{ mutable, immutable }
import math.max
-import util.Statistics._
+import util.Statistics
/** A base type sequence (BaseTypeSeq) is an ordered sequence spanning all the base types
* of a type. It characterized by the following two laws:
@@ -28,6 +28,7 @@ import util.Statistics._
trait BaseTypeSeqs {
this: SymbolTable =>
import definitions._
+ import BaseTypeSeqsStats._
protected def newBaseTypeSeq(parents: List[Type], elems: Array[Type]) =
new BaseTypeSeq(parents, elems)
@@ -38,8 +39,8 @@ trait BaseTypeSeqs {
*/
class BaseTypeSeq protected[BaseTypeSeqs] (private[BaseTypeSeqs] val parents: List[Type], private[BaseTypeSeqs] val elems: Array[Type]) {
self =>
- incCounter(baseTypeSeqCount)
- incCounter(baseTypeSeqLenTotal, elems.length)
+ Statistics.incCounter(baseTypeSeqCount)
+ Statistics.incCounter(baseTypeSeqLenTotal, elems.length)
/** The number of types in the sequence */
def length: Int = elems.length
@@ -231,3 +232,8 @@ trait BaseTypeSeqs {
val CyclicInheritance = new Throwable
}
+
+object BaseTypeSeqsStats {
+ val baseTypeSeqCount = Statistics.newCounter("#base type seqs")
+ val baseTypeSeqLenTotal = Statistics.newRelCounter("avg base type seq length", baseTypeSeqCount)
+}