@@ -91,6 +91,7 @@ class LazyVals extends MiniPhaseTransform with IdentityDenotTransformer with Nee
91
91
appendOffsetDefs.get(cls) match {
92
92
case None => template
93
93
case Some (data) =>
94
+ data.defs.foreach(_.symbol.addAnnotation(defn.ScalaStaticAnnot ))
94
95
cpy.Template (template)(body = addInFront(data.defs, template.body))
95
96
}
96
97
@@ -357,6 +358,7 @@ class LazyVals extends MiniPhaseTransform with IdentityDenotTransformer with Nee
357
358
.symbol.asTerm
358
359
} else { // need to create a new flag
359
360
offsetSymbol = ctx.newSymbol(companion.moduleClass, (StdNames .nme.LAZY_FIELD_OFFSET + id.toString).toTermName, Flags .Synthetic , defn.LongType ).enteredAfter(this )
361
+ offsetSymbol.addAnnotation(defn.ScalaStaticAnnot )
360
362
val flagName = (StdNames .nme.BITMAP_PREFIX + id.toString).toTermName
361
363
val flagSymbol = ctx.newSymbol(claz, flagName, containerFlags, defn.LongType ).enteredAfter(this )
362
364
flag = ValDef (flagSymbol, Literal (Constants .Constant (0L )))
@@ -366,6 +368,7 @@ class LazyVals extends MiniPhaseTransform with IdentityDenotTransformer with Nee
366
368
367
369
case None =>
368
370
offsetSymbol = ctx.newSymbol(companion.moduleClass, (StdNames .nme.LAZY_FIELD_OFFSET + " 0" ).toTermName, Flags .Synthetic , defn.LongType ).enteredAfter(this )
371
+ offsetSymbol.addAnnotation(defn.ScalaStaticAnnot )
369
372
val flagName = (StdNames .nme.BITMAP_PREFIX + " 0" ).toTermName
370
373
val flagSymbol = ctx.newSymbol(claz, flagName, containerFlags, defn.LongType ).enteredAfter(this )
371
374
flag = ValDef (flagSymbol, Literal (Constants .Constant (0L )))
@@ -375,9 +378,10 @@ class LazyVals extends MiniPhaseTransform with IdentityDenotTransformer with Nee
375
378
376
379
val containerName = ctx.freshName(x.name.asTermName.lazyLocalName).toTermName
377
380
val containerSymbol = ctx.newSymbol(claz, containerName, (x.mods &~ containerFlagsMask | containerFlags).flags, tpe, coord = x.symbol.coord).enteredAfter(this )
381
+
378
382
val containerTree = ValDef (containerSymbol, defaultValue(tpe))
379
383
380
- val offset = ref(companion).ensureApplied.select( offsetSymbol)
384
+ val offset = ref(offsetSymbol)
381
385
val getFlag = Select (ref(helperModule), lazyNme.RLazyVals .get)
382
386
val setFlag = Select (ref(helperModule), lazyNme.RLazyVals .setFlag)
383
387
val wait = Select (ref(helperModule), lazyNme.RLazyVals .wait4Notification)
0 commit comments