diff options
author | VladimirNik <vladimir.nikolaev9@gmail.com> | 2015-11-16 14:55:42 +0300 |
---|---|---|
committer | VladimirNik <vladimir.nikolaev9@gmail.com> | 2015-11-17 22:04:24 +0300 |
commit | 9c30c9b13d2eb95f4d86368ed27cf7e63e468dee (patch) | |
tree | f7ba509fcd671b8c6ada06b23afb8148daced636 /src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala | |
parent | eefa6112cc2c9e26dfd22bbc7532332d71aa6b43 (diff) | |
download | dotty-9c30c9b13d2eb95f4d86368ed27cf7e63e468dee.tar.gz dotty-9c30c9b13d2eb95f4d86368ed27cf7e63e468dee.tar.bz2 dotty-9c30c9b13d2eb95f4d86368ed27cf7e63e468dee.zip |
Links between companions after unpickling are added
Diffstat (limited to 'src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala b/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala index e76b2e764..552d931d7 100644 --- a/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala +++ b/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala @@ -588,9 +588,15 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table) { sym.info = readType() ValDef(sym.asTerm, readRhs(localCtx)) case TYPEDEF | TYPEPARAM => - if (sym.isClass) + if (sym.isClass) { + val companion = sym.scalacLinkedClass + if (companion != NoSymbol) { + import transform.SymUtils._ + if (sym is Flags.ModuleClass) sym.registerCompanionMethod(nme.COMPANION_CLASS_METHOD, companion) + else sym.registerCompanionMethod(nme.COMPANION_MODULE_METHOD, companion) + } ta.assignType(untpd.TypeDef(sym.name.asTypeName, readTemplate(localCtx)), sym) - else { + } else { sym.info = readType() TypeDef(sym.asType) } |