diff options
author | Martin Odersky <odersky@gmail.com> | 2015-02-27 12:13:34 +0100 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-03-18 11:14:11 +0100 |
commit | 43a03c39a39b039c28e17485af39d14fea1e5600 (patch) | |
tree | b92516dd4533d3f1d07d43e6d20886cf63502d5e /src/dotty/tools/dotc/core/pickling/TastyPrinter.scala | |
parent | 471881d0d51460c93294e006982aa7022a627814 (diff) | |
download | dotty-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.scala | 7 |
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 |