aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/UnPickler.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-25 18:21:58 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-25 18:21:58 +0100
commitd01ecb733dc8990d1f5d432e1fb9eb488bb7e3b4 (patch)
treeaec4db023e4b21677077fe10f4aa5859c0fa9d2b /src/dotty/tools/dotc/core/pickling/UnPickler.scala
parent13a05d5119e33333000f969817434629443d6bb2 (diff)
downloaddotty-d01ecb733dc8990d1f5d432e1fb9eb488bb7e3b4.tar.gz
dotty-d01ecb733dc8990d1f5d432e1fb9eb488bb7e3b4.tar.bz2
dotty-d01ecb733dc8990d1f5d432e1fb9eb488bb7e3b4.zip
Add companion class methods for files read from scala & java
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/UnPickler.scala')
-rw-r--r--src/dotty/tools/dotc/core/pickling/UnPickler.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/UnPickler.scala b/src/dotty/tools/dotc/core/pickling/UnPickler.scala
index 170ebd28b..e22d045ac 100644
--- a/src/dotty/tools/dotc/core/pickling/UnPickler.scala
+++ b/src/dotty/tools/dotc/core/pickling/UnPickler.scala
@@ -118,6 +118,16 @@ object UnPickler {
denot.owner.thisType select denot.sourceModule
else selfInfo
if (!(denot.flagsUNSAFE is JavaModule)) ensureConstructor(denot.symbol.asClass, decls)
+ if (denot.flagsUNSAFE is Module) {
+ val scalacCompanion = denot.classSymbol.scalacLinkedClass
+ if (scalacCompanion.exists)
+ ctx.newSymbol(
+ owner = denot.classSymbol,
+ name = nme.COMPANION_CLASS_METHOD,
+ flags = Flags.Synthetic | Flags.Private,
+ info = ExprType(scalacCompanion.typeRef)).entered
+ }
+
denot.info = ClassInfo(denot.owner.thisType, denot.classSymbol, parentRefs, decls, ost)
}
}