Skip to content

Commit c4606cb

Browse files
committed
Fix #568
As i568 shows, it is possible to have a package as prefix, a package object as owner and be followed by type arguments: reflect.classTag[T] expands to reflect.`package`.classTag[T]
1 parent 743c6bb commit c4606cb

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

src/dotty/tools/dotc/transform/PostTyper.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,12 +104,11 @@ class PostTyper extends MacroTransform with IdentityDenotTransformer { thisTran
104104
private def transformAnnots(tree: MemberDef)(implicit ctx: Context): Unit =
105105
tree.symbol.transformAnnotations(transformAnnot)
106106

107-
private def transformSelect(tree: Select, targs: List[Tree])(implicit ctx: Context) = {
107+
private def transformSelect(tree: Select, targs: List[Tree])(implicit ctx: Context): Tree = {
108108
val qual = tree.qualifier
109109
qual.symbol.moduleClass.denot match {
110110
case pkg: PackageClassDenotation if !tree.symbol.maybeOwner.is(Package) =>
111-
assert(targs.isEmpty)
112-
cpy.Select(tree)(qual select pkg.packageObj.symbol, tree.name)
111+
transformSelect(cpy.Select(tree)(qual select pkg.packageObj.symbol, tree.name), targs)
113112
case _ =>
114113
superAcc.transformSelect(super.transform(tree), targs)
115114
}

0 commit comments

Comments
 (0)