summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2015-04-16 14:48:25 +1000
committerJason Zaugg <jzaugg@gmail.com>2015-04-16 14:48:25 +1000
commitd2a174d27bce392329a9c5e4c7d2acee263cdb34 (patch)
tree617a429238d02a13f658d58182a419d17133b398 /src
parent029cce77bd72cd8255c6dee08a227796cdb158b1 (diff)
parent4ff3abbe950c0bd703298d7808e1de38894ddac7 (diff)
downloadscala-d2a174d27bce392329a9c5e4c7d2acee263cdb34.tar.gz
scala-d2a174d27bce392329a9c5e4c7d2acee263cdb34.tar.bz2
scala-d2a174d27bce392329a9c5e4c7d2acee263cdb34.zip
Merge pull request #4449 from retronym/ticket/9273
SI-9273 Avoid unpositioned error for bare classOf
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 391ef9e337..7417c5364e 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -4881,10 +4881,11 @@ trait Typers extends Adaptations with Tags with TypersTracking with PatternTyper
(// this -> Foo.this
if (sym.isThisSym)
typed1(This(sym.owner) setPos tree.pos, mode, pt)
- // Inferring classOf type parameter from expected type. Otherwise an
- // actual call to the stubbed classOf method is generated, returning null.
- else if (isPredefClassOf(sym) && pt.typeSymbol == ClassClass && pt.typeArgs.nonEmpty)
- typedClassOf(tree, TypeTree(pt.typeArgs.head))
+ else if (isPredefClassOf(sym) && pt.typeSymbol == ClassClass && pt.typeArgs.nonEmpty) {
+ // Inferring classOf type parameter from expected type. Otherwise an
+ // actual call to the stubbed classOf method is generated, returning null.
+ typedClassOf(tree, TypeTree(pt.typeArgs.head).setPos(tree.pos.focus))
+ }
else {
val pre1 = if (sym.isTopLevel) sym.owner.thisType else if (qual == EmptyTree) NoPrefix else qual.tpe
val tree1 = if (qual == EmptyTree) tree else atPos(tree.pos)(Select(atPos(tree.pos.focusStart)(qual), name))