aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/tasty/TreePickler.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-07-19 13:05:56 +0200
committerMartin Odersky <odersky@gmail.com>2015-09-18 18:09:55 +0200
commitc0918c69e578edad40320e0a5bac1603f5ce94fa (patch)
tree62a95d39cb90d1c066c635ea20fb06d2567bf8e9 /src/dotty/tools/dotc/core/tasty/TreePickler.scala
parent965e7e368bcf7346b28ef19f694be502e76a1ca3 (diff)
downloaddotty-c0918c69e578edad40320e0a5bac1603f5ce94fa.tar.gz
dotty-c0918c69e578edad40320e0a5bac1603f5ce94fa.tar.bz2
dotty-c0918c69e578edad40320e0a5bac1603f5ce94fa.zip
Better error reporting in TreePickler
Turn a possible NPE into an AssertionError. The latter are caught in pickleTree, so an error leaves a trace about what was pickled.
Diffstat (limited to 'src/dotty/tools/dotc/core/tasty/TreePickler.scala')
-rw-r--r--src/dotty/tools/dotc/core/tasty/TreePickler.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/tasty/TreePickler.scala b/src/dotty/tools/dotc/core/tasty/TreePickler.scala
index 8847d2de3..a23d59339 100644
--- a/src/dotty/tools/dotc/core/tasty/TreePickler.scala
+++ b/src/dotty/tools/dotc/core/tasty/TreePickler.scala
@@ -200,7 +200,9 @@ class TreePickler(pickler: TastyPickler) {
withLength { pickleType(tpe.thistpe); pickleType(tpe.supertpe)}
case tpe: RefinedThis =>
writeByte(REFINEDthis)
- writeRef(pickledTypes.get(tpe.binder).asInstanceOf[Addr])
+ val binderAddr = pickledTypes.get(tpe.binder)
+ assert(binderAddr != null)
+ writeRef(binderAddr.asInstanceOf[Addr])
case tpe: SkolemType =>
pickleType(tpe.info)
case tpe: RefinedType =>