diff options
author | Martin Odersky <odersky@gmail.com> | 2015-05-15 17:02:25 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-05-15 17:05:25 +0200 |
commit | 6674b3563011a84e0389598573feb77cecb37cbc (patch) | |
tree | d253db5e4b8931dbb2b5bf770a622867788a5d5a /src/dotty/tools/dotc/transform/PostTyper.scala | |
parent | 49e537e10f572340e2d8f8ac632a5c05227b694f (diff) | |
download | dotty-6674b3563011a84e0389598573feb77cecb37cbc.tar.gz dotty-6674b3563011a84e0389598573feb77cecb37cbc.tar.bz2 dotty-6674b3563011a84e0389598573feb77cecb37cbc.zip |
As i566 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]
Diffstat (limited to 'src/dotty/tools/dotc/transform/PostTyper.scala')
-rw-r--r-- | src/dotty/tools/dotc/transform/PostTyper.scala | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/transform/PostTyper.scala b/src/dotty/tools/dotc/transform/PostTyper.scala index 55270f233..a0670bca0 100644 --- a/src/dotty/tools/dotc/transform/PostTyper.scala +++ b/src/dotty/tools/dotc/transform/PostTyper.scala @@ -104,12 +104,11 @@ class PostTyper extends MacroTransform with IdentityDenotTransformer { thisTran private def transformAnnots(tree: MemberDef)(implicit ctx: Context): Unit = tree.symbol.transformAnnotations(transformAnnot) - private def transformSelect(tree: Select, targs: List[Tree])(implicit ctx: Context) = { + private def transformSelect(tree: Select, targs: List[Tree])(implicit ctx: Context): Tree = { val qual = tree.qualifier qual.symbol.moduleClass.denot match { case pkg: PackageClassDenotation if !tree.symbol.maybeOwner.is(Package) => - assert(targs.isEmpty) - cpy.Select(tree)(qual select pkg.packageObj.symbol, tree.name) + transformSelect(cpy.Select(tree)(qual select pkg.packageObj.symbol, tree.name), targs) case _ => superAcc.transformSelect(super.transform(tree), targs) } |