@@ -112,7 +112,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
112112 appendOffsetDefs.get(cls) match {
113113 case None => template
114114 case Some (data) =>
115- data.defs.foreach(_ .symbol.addAnnotation(Annotation (defn.ScalaStaticAnnot )))
115+ data.defs.foreach(defin => defin .symbol.addAnnotation(Annotation (defn.ScalaStaticAnnot , defin.symbol.span )))
116116 cpy.Template (template)(body = addInFront(data.defs, template.body))
117117 }
118118 }
@@ -464,7 +464,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
464464 def offsetName (id : Int ) = s " ${StdNames .nme.LAZY_FIELD_OFFSET }${if (x.symbol.owner.is(Module )) " _m_" else " " }$id" .toTermName
465465 val containerName = LazyLocalName .fresh(x.name.asTermName)
466466 val containerSymbol = newSymbol(claz, containerName, x.symbol.flags &~ containerFlagsMask | containerFlags | Private , defn.ObjectType , coord = x.symbol.coord).enteredAfter(this )
467- containerSymbol.addAnnotation(Annotation (defn.VolatileAnnot )) // private @volatile var _x: AnyRef
467+ containerSymbol.addAnnotation(Annotation (defn.VolatileAnnot , containerSymbol.span )) // private @volatile var _x: AnyRef
468468 containerSymbol.addAnnotations(x.symbol.annotations) // pass annotations from original definition
469469 val stat = x.symbol.isStatic
470470 if stat then
@@ -482,7 +482,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
482482 newSymbol(claz, offsetName(info.defs.size), Synthetic , defn.LongType ).enteredAfter(this )
483483 case None =>
484484 newSymbol(claz, offsetName(0 ), Synthetic , defn.LongType ).enteredAfter(this )
485- offsetSymbol.nn.addAnnotation(Annotation (defn.ScalaStaticAnnot ))
485+ offsetSymbol.nn.addAnnotation(Annotation (defn.ScalaStaticAnnot , offsetSymbol.nn.span ))
486486 val fieldTree = thizClass.select(lazyNme.RLazyVals .getDeclaredField).appliedTo(Literal (Constant (containerName.mangledString)))
487487 val offsetTree = ValDef (offsetSymbol.nn, getOffset.appliedTo(fieldTree))
488488 val offsetInfo = appendOffsetDefs.getOrElseUpdate(claz, new OffsetInfo (Nil ))
@@ -625,7 +625,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
625625 .symbol.asTerm
626626 else { // need to create a new flag
627627 offsetSymbol = newSymbol(claz, offsetById, Synthetic , defn.LongType ).enteredAfter(this )
628- offsetSymbol.nn.addAnnotation(Annotation (defn.ScalaStaticAnnot ))
628+ offsetSymbol.nn.addAnnotation(Annotation (defn.ScalaStaticAnnot , offsetSymbol.nn.span ))
629629 val flagName = LazyBitMapName .fresh(id.toString.toTermName)
630630 val flagSymbol = newSymbol(claz, flagName, containerFlags, defn.LongType ).enteredAfter(this )
631631 flag = ValDef (flagSymbol, Literal (Constant (0L )))
@@ -636,7 +636,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
636636
637637 case None =>
638638 offsetSymbol = newSymbol(claz, offsetName(0 ), Synthetic , defn.LongType ).enteredAfter(this )
639- offsetSymbol.nn.addAnnotation(Annotation (defn.ScalaStaticAnnot ))
639+ offsetSymbol.nn.addAnnotation(Annotation (defn.ScalaStaticAnnot , offsetSymbol.nn.span ))
640640 val flagName = LazyBitMapName .fresh(" 0" .toTermName)
641641 val flagSymbol = newSymbol(claz, flagName, containerFlags, defn.LongType ).enteredAfter(this )
642642 flag = ValDef (flagSymbol, Literal (Constant (0L )))
0 commit comments