diff options
author | Martin Odersky <odersky@gmail.com> | 2015-02-25 18:29:30 +0100 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-03-18 11:14:10 +0100 |
commit | 1b301e9b8da1fc48b1720cccedafdb7cdb7058a4 (patch) | |
tree | adfdf48087277745254595c113a620dbdc4e5641 /src/dotty/tools/dotc/core/pickling/TastyPrinter.scala | |
parent | afeb331346d49e8fd0b47178365b3f95bf89b340 (diff) | |
download | dotty-1b301e9b8da1fc48b1720cccedafdb7cdb7058a4.tar.gz dotty-1b301e9b8da1fc48b1720cccedafdb7cdb7058a4.tar.bz2 dotty-1b301e9b8da1fc48b1720cccedafdb7cdb7058a4.zip |
New scheme for recording positions
Single traverser, also handles lazy trees.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/TastyPrinter.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/TastyPrinter.scala | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/TastyPrinter.scala b/src/dotty/tools/dotc/core/pickling/TastyPrinter.scala index 94d57e081..751642a51 100644 --- a/src/dotty/tools/dotc/core/pickling/TastyPrinter.scala +++ b/src/dotty/tools/dotc/core/pickling/TastyPrinter.scala @@ -102,26 +102,17 @@ class TastyPrinter(bytes: Array[Byte])(implicit ctx: Context) { } } } - + class PositionUnpickler extends SectionUnpickler[Unit]("Positions") { def unpickle(reader: TastyReader, tastyName: TastyName.Table): Unit = { import reader._ - - def unpickleOffsets(edge: Edge): Unit = { - var lastOffset = 0 - var lastAddr = 0 - val length = readNat() - println(s"$length offset bytes") - val end = currentAddr + length - until(end) { - lastOffset += readInt() - lastAddr += readInt() - println(s"$lastOffset: $lastAddr") - } + var lastOffset = 0 + var lastAddr = 0 + while (!isAtEnd) { + lastOffset += readInt() + lastAddr += readInt() + println(s"$lastOffset: $lastAddr") } - - unpickleOffsets(Edge.left) - unpickleOffsets(Edge.right) } } }
\ No newline at end of file |