summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/internal/Positions.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/reflect/scala/reflect/internal/Positions.scala')
-rw-r--r--src/reflect/scala/reflect/internal/Positions.scala9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Positions.scala b/src/reflect/scala/reflect/internal/Positions.scala
index 4d0e31b037..15d68bcdfe 100644
--- a/src/reflect/scala/reflect/internal/Positions.scala
+++ b/src/reflect/scala/reflect/internal/Positions.scala
@@ -252,7 +252,14 @@ trait Positions extends api.Positions { self: SymbolTable =>
super.traverse(t)
} else t match {
case mdef: MemberDef =>
- traverseTrees(mdef.mods.annotations)
+ val annTrees = mdef.mods.annotations match {
+ case Nil if mdef.symbol != null =>
+ // After typechecking, annotations are mvoed from the modifiers
+ // to the annotation on the symbol of the anotatee.
+ mdef.symbol.annotations.map(_.original)
+ case anns => anns
+ }
+ traverseTrees(annTrees)
case _ =>
}
}