diff options
author | Martin Odersky <odersky@gmail.com> | 2014-08-08 16:12:01 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-08-08 18:32:33 +0200 |
commit | 058729ceac3354a2cc34490b528e76afb09ee0ce (patch) | |
tree | 2b98e78b607c7f0438ebd2eac8b68f5a72b46a04 /src/dotty/tools/dotc/core/SymDenotations.scala | |
parent | f87153bc5d74f66e2fcf22dc7282da31813430da (diff) | |
download | dotty-058729ceac3354a2cc34490b528e76afb09ee0ce.tar.gz dotty-058729ceac3354a2cc34490b528e76afb09ee0ce.tar.bz2 dotty-058729ceac3354a2cc34490b528e76afb09ee0ce.zip |
LazyRefs break cycles for unpickled types
Insert LazyRefs to break cycles for F-bounded types that
are unpickled or read from Java signatures.
Diffstat (limited to 'src/dotty/tools/dotc/core/SymDenotations.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/SymDenotations.scala | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/core/SymDenotations.scala b/src/dotty/tools/dotc/core/SymDenotations.scala index fd47ee4ec..c543a5a0c 100644 --- a/src/dotty/tools/dotc/core/SymDenotations.scala +++ b/src/dotty/tools/dotc/core/SymDenotations.scala @@ -147,7 +147,7 @@ object SymDenotations { } private def completeFrom(completer: LazyType)(implicit ctx: Context): Unit = { - if (myFlags is Touched) throw new CyclicReference(this) + if (myFlags is Touched) throw CyclicReference(this) myFlags |= Touched // completions.println(s"completing ${this.debugString}") @@ -1034,7 +1034,7 @@ object SymDenotations { } private def computeBases(implicit ctx: Context): Unit = { - if (myBaseClasses eq Nil) throw new CyclicReference(this) + if (myBaseClasses eq Nil) throw CyclicReference(this) myBaseClasses = Nil val seen = new mutable.BitSet val locked = new mutable.BitSet @@ -1294,7 +1294,7 @@ object SymDenotations { basetp = computeBaseTypeRefOf(tp) baseTypeRefCache.put(tp, basetp) } else if (basetp == NoPrefix) { - throw new CyclicReference(this) + throw CyclicReference(this) } basetp case _ => |