From 2a3f78673afe581fffec7f88039ba27a71ed2fe2 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Thu, 10 Dec 2015 11:11:44 +0100 Subject: Fix sleeper bug in ParamForwarding ParamForwarding converts some parameters to nullary methods, yet it does not update the references to these parameters. Their signature is still NotAMethod, which is wrong. Causes subtle differences in peckle tests: a param accessor get type T before pickling (which is wrong), gets => T when reading back (which is right). Test case in pickling/selfSym.scala. --- src/dotty/tools/dotc/core/Flags.scala | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/dotty/tools/dotc/core/Flags.scala') diff --git a/src/dotty/tools/dotc/core/Flags.scala b/src/dotty/tools/dotc/core/Flags.scala index c859fae3e..42d06c2ab 100644 --- a/src/dotty/tools/dotc/core/Flags.scala +++ b/src/dotty/tools/dotc/core/Flags.scala @@ -585,6 +585,9 @@ object Flags { /** A private[this] parameter accessor */ final val PrivateLocalParamAccessor = allOf(Private, Local, ParamAccessor) + /** A parameter forwarder */ + final val ParamForwarder = allOf(Method, Stable, ParamAccessor) + /** A private[this] parameter */ final val PrivateLocalParam = allOf(Private, Local, Param) -- cgit v1.2.3