diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-03-30 17:01:07 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-03-30 17:01:07 +0200 |
commit | e907c78b134066260e68cc25f5adce8338f59ef4 (patch) | |
tree | a20b6f4ebf58e02de9338eb6fd892fbc11d47c89 /src | |
parent | 84602a32172df75f5fea0d9d03df801fff768052 (diff) | |
download | dotty-e907c78b134066260e68cc25f5adce8338f59ef4.tar.gz dotty-e907c78b134066260e68cc25f5adce8338f59ef4.tar.bz2 dotty-e907c78b134066260e68cc25f5adce8338f59ef4.zip |
companionModule needs to return ModuleVal for Module.
Diffstat (limited to 'src')
-rw-r--r-- | src/dotty/tools/dotc/core/SymDenotations.scala | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/dotty/tools/dotc/core/SymDenotations.scala b/src/dotty/tools/dotc/core/SymDenotations.scala index b042f2621..c8773d9e8 100644 --- a/src/dotty/tools/dotc/core/SymDenotations.scala +++ b/src/dotty/tools/dotc/core/SymDenotations.scala @@ -767,12 +767,14 @@ object SymDenotations { * NoSymbol if this module does not exist. */ final def companionModule(implicit ctx: Context): Symbol = { - val companionMethod = info.decls.denotsNamed(nme.COMPANION_MODULE_METHOD, selectPrivate).first - - if (companionMethod.exists) - companionMethod.info.resultType.classSymbol.sourceModule - else - NoSymbol + if (this.flagsUNSAFE is Flags.Module) this.sourceModule + else { + val companionMethod = info.decls.denotsNamed(nme.COMPANION_MODULE_METHOD, selectPrivate).first + if (companionMethod.exists) + companionMethod.info.resultType.classSymbol.sourceModule + else + NoSymbol + } } |