@@ -112,7 +112,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
112
112
appendOffsetDefs.get(cls) match {
113
113
case None => template
114
114
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 )))
116
116
cpy.Template (template)(body = addInFront(data.defs, template.body))
117
117
}
118
118
}
@@ -464,7 +464,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
464
464
def offsetName (id : Int ) = s " ${StdNames .nme.LAZY_FIELD_OFFSET }${if (x.symbol.owner.is(Module )) " _m_" else " " }$id" .toTermName
465
465
val containerName = LazyLocalName .fresh(x.name.asTermName)
466
466
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
468
468
containerSymbol.addAnnotations(x.symbol.annotations) // pass annotations from original definition
469
469
val stat = x.symbol.isStatic
470
470
if stat then
@@ -482,7 +482,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
482
482
newSymbol(claz, offsetName(info.defs.size), Synthetic , defn.LongType ).enteredAfter(this )
483
483
case None =>
484
484
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 ))
486
486
val fieldTree = thizClass.select(lazyNme.RLazyVals .getDeclaredField).appliedTo(Literal (Constant (containerName.mangledString)))
487
487
val offsetTree = ValDef (offsetSymbol.nn, getOffset.appliedTo(fieldTree))
488
488
val offsetInfo = appendOffsetDefs.getOrElseUpdate(claz, new OffsetInfo (Nil ))
@@ -625,7 +625,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
625
625
.symbol.asTerm
626
626
else { // need to create a new flag
627
627
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 ))
629
629
val flagName = LazyBitMapName .fresh(id.toString.toTermName)
630
630
val flagSymbol = newSymbol(claz, flagName, containerFlags, defn.LongType ).enteredAfter(this )
631
631
flag = ValDef (flagSymbol, Literal (Constant (0L )))
@@ -636,7 +636,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
636
636
637
637
case None =>
638
638
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 ))
640
640
val flagName = LazyBitMapName .fresh(" 0" .toTermName)
641
641
val flagSymbol = newSymbol(claz, flagName, containerFlags, defn.LongType ).enteredAfter(this )
642
642
flag = ValDef (flagSymbol, Literal (Constant (0L )))
0 commit comments