aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/TastyPrinter.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-02-25 18:29:30 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:14:10 +0100
commit1b301e9b8da1fc48b1720cccedafdb7cdb7058a4 (patch)
treeadfdf48087277745254595c113a620dbdc4e5641 /src/dotty/tools/dotc/core/pickling/TastyPrinter.scala
parentafeb331346d49e8fd0b47178365b3f95bf89b340 (diff)
downloaddotty-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.scala23
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