diff options
author | Martin Odersky <odersky@gmail.com> | 2015-07-19 13:05:56 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-09-18 18:09:55 +0200 |
commit | c0918c69e578edad40320e0a5bac1603f5ce94fa (patch) | |
tree | 62a95d39cb90d1c066c635ea20fb06d2567bf8e9 | |
parent | 965e7e368bcf7346b28ef19f694be502e76a1ca3 (diff) | |
download | dotty-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.
-rw-r--r-- | src/dotty/tools/dotc/core/tasty/TreePickler.scala | 4 |
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 => |