aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/TastyPrinter.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-02-27 12:13:34 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:14:11 +0100
commit43a03c39a39b039c28e17485af39d14fea1e5600 (patch)
treeb92516dd4533d3f1d07d43e6d20886cf63502d5e /src/dotty/tools/dotc/core/pickling/TastyPrinter.scala
parent471881d0d51460c93294e006982aa7022a627814 (diff)
downloaddotty-43a03c39a39b039c28e17485af39d14fea1e5600.tar.gz
dotty-43a03c39a39b039c28e17485af39d14fea1e5600.tar.bz2
dotty-43a03c39a39b039c28e17485af39d14fea1e5600.zip
Added testing hooks for unpickler
New option -Ytest-pickler compares trees before and after pickling.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/TastyPrinter.scala')
-rw-r--r--src/dotty/tools/dotc/core/pickling/TastyPrinter.scala7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/TastyPrinter.scala b/src/dotty/tools/dotc/core/pickling/TastyPrinter.scala
index 83b53abb3..c36083b98 100644
--- a/src/dotty/tools/dotc/core/pickling/TastyPrinter.scala
+++ b/src/dotty/tools/dotc/core/pickling/TastyPrinter.scala
@@ -7,7 +7,7 @@ import printing.Texts._
import TastyName._
import TastyUnpickler._
import TastyBuffer.Addr
-import util.Positions.Position
+import util.Positions.{Position, offsetToInt}
import collection.mutable
class TastyPrinter(bytes: Array[Byte])(implicit ctx: Context) {
@@ -108,10 +108,11 @@ class TastyPrinter(bytes: Array[Byte])(implicit ctx: Context) {
class PositionSectionUnpickler extends SectionUnpickler[Unit]("Positions") {
def unpickle(reader: TastyReader, tastyName: TastyName.Table): Unit = {
+ print(s"${reader.endAddr.index - reader.currentAddr.index}")
val (totalRange, positions) = new PositionUnpickler(reader).unpickle()
- println(s"Positions in $totalRange:")
+ println(s" position bytes in $totalRange:")
val sorted = positions.toSeq.sortBy(_._1.index)
- for ((addr, pos) <- sorted) println(s"$addr: $pos")
+ for ((addr, pos) <- sorted) println(s"${addr.index}: ${offsetToInt(pos.start)} .. ${pos.end}")
}
}
} \ No newline at end of file