diff options
author | Martin Odersky <odersky@gmail.com> | 2016-06-29 19:01:12 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-07-11 13:34:58 +0200 |
commit | d30f441ae986c144e739223be97b906b3bbd43dc (patch) | |
tree | b7ba96597290a345dd9a92e3e0275f8a340fe766 /src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala | |
parent | 5866d0d16c79ca5c62507bdcb7d87669426e86d6 (diff) | |
download | dotty-d30f441ae986c144e739223be97b906b3bbd43dc.tar.gz dotty-d30f441ae986c144e739223be97b906b3bbd43dc.tar.bz2 dotty-d30f441ae986c144e739223be97b906b3bbd43dc.zip |
Allow general recursion in refined types.
Treat parent like refinedInfo. Introduce isBinding convenience method
in TypeBounds.
Diffstat (limited to 'src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala index 71a919ca3..687e9279b 100644 --- a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala +++ b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala @@ -620,9 +620,9 @@ class Scala2Unpickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClas def removeSingleton(tp: Type): Type = if (tp isRef defn.SingletonClass) defn.AnyType else tp def elim(tp: Type): Type = tp match { - case tp @ RefinedType(parent, name) => + case tp @ RefinedType(parent, name, rinfo) => val parent1 = elim(tp.parent) - tp.refinedInfo match { + rinfo match { case TypeAlias(info: TypeRef) if isBound(info) => RefinedType(parent1, name, info.symbol.info) case info: TypeRef if isBound(info) => |