Skip to content

Commit cb799be

Browse files
committed
Make erasure insert .package in referneces
1 parent a68980c commit cb799be

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/dotty/tools/dotc/TypeErasure.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,10 @@ object TypeErasure {
108108
def erasedRef(tp: Type)(implicit ctx: Context): Type = tp match {
109109
case tp: TermRef =>
110110
assert(tp.symbol.exists, tp)
111+
if(tp.prefix.widenDealias.classSymbol.is(Flags.Package) && !tp.termSymbol.owner.is(Flags.Package))
112+
// we are accessing a definition inside a package object
113+
TermRef(erasedRef(tp.prefix).member(nme.PACKAGE).asSymDenotation.termRef, tp.symbol.asTerm)
114+
else
111115
TermRef(erasedRef(tp.prefix), tp.symbol.asTerm)
112116
case tp: ThisType =>
113117
tp

0 commit comments

Comments
 (0)