summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2014-03-10 11:03:04 -0700
committerAdriaan Moors <adriaan.moors@typesafe.com>2014-03-10 11:03:04 -0700
commit51a413e3327d9050f07377933eb1ca243d52c4ab (patch)
tree433351fea6467957114c8dd9143c6796c2f8b6a8 /src/compiler
parent1c7daf40bfe529969aa423ae0d2fd454adb20acb (diff)
parent1b5a34b402cb283db6029a1d54778390ba14ef6f (diff)
downloadscala-51a413e3327d9050f07377933eb1ca243d52c4ab.tar.gz
scala-51a413e3327d9050f07377933eb1ca243d52c4ab.tar.bz2
scala-51a413e3327d9050f07377933eb1ca243d52c4ab.zip
Merge pull request #3594 from densh/si/8331
SI-8331 make sure type select & applied type doesn't match terms
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/reflect/quasiquotes/Reifiers.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/reflect/quasiquotes/Reifiers.scala b/src/compiler/scala/tools/reflect/quasiquotes/Reifiers.scala
index 5eae3b6e6f..c37d5a3273 100644
--- a/src/compiler/scala/tools/reflect/quasiquotes/Reifiers.scala
+++ b/src/compiler/scala/tools/reflect/quasiquotes/Reifiers.scala
@@ -185,6 +185,8 @@ trait Reifiers { self: Quasiquotes =>
reifyBuildCall(nme.SyntacticApplied, fun, argss)
case SyntacticTypeApplied(fun, targs) if targs.nonEmpty =>
reifyBuildCall(nme.SyntacticTypeApplied, fun, targs)
+ case SyntacticAppliedType(tpt, targs) if targs.nonEmpty =>
+ reifyBuildCall(nme.SyntacticAppliedType, tpt, targs)
case SyntacticFunction(args, body) =>
reifyBuildCall(nme.SyntacticFunction, args, body)
case SyntacticIdent(name, isBackquoted) =>
@@ -215,6 +217,9 @@ trait Reifiers { self: Quasiquotes =>
// correctness of the trees produced by quasiquotes
case Select(id @ Ident(nme.scala_), name) if id.symbol == ScalaPackage =>
reifyBuildCall(nme.ScalaDot, name)
+ case Select(qual, name) =>
+ val ctor = if (name.isTypeName) nme.SyntacticSelectType else nme.SyntacticSelectTerm
+ reifyBuildCall(ctor, qual, name)
case _ =>
super.reifyTreeSyntactically(tree)
}