Skip to content

Commit 18fa15e

Browse files
authored
Merge pull request #4830 from dotty-staging/cleanups
Some refactoring
2 parents 13d02bc + 4356c73 commit 18fa15e

File tree

2 files changed

+13
-20
lines changed

2 files changed

+13
-20
lines changed

compiler/src/dotty/tools/dotc/transform/ExtensionMethods.scala

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import dotty.tools.dotc.transform.MegaPhase._
99
import ValueClasses._
1010
import dotty.tools.dotc.ast.{Trees, tpd}
1111
import scala.collection.{ mutable, immutable }
12-
import mutable.ListBuffer
1312
import core._
1413
import dotty.tools.dotc.core.Phases.Phase
1514
import Types._, Contexts._, Constants._, Names._, NameOps._, Flags._, DenotTransformers._
@@ -158,13 +157,7 @@ class ExtensionMethods extends MiniPhase with DenotTransformer with FullParamete
158157
assert(staticClass.exists, s"$origClass lacks companion, ${origClass.owner.definedPeriodsString} ${origClass.owner.info.decls} ${origClass.owner.info.decls}")
159158
val extensionMeth = extensionMethod(origMeth)
160159
ctx.log(s"Value class $origClass spawns extension method.\n Old: ${origMeth.showDcl}\n New: ${extensionMeth.showDcl}")
161-
val store: ListBuffer[Tree] = extensionDefs.get(staticClass) match {
162-
case Some(x) => x
163-
case None =>
164-
val newC = new ListBuffer[Tree]()
165-
extensionDefs(staticClass) = newC
166-
newC
167-
}
160+
val store = extensionDefs.getOrElseUpdate(staticClass, new mutable.ListBuffer[Tree])
168161
store += fullyParameterizedDef(extensionMeth, tree)
169162
cpy.DefDef(tree)(rhs = forwarder(extensionMeth, tree))
170163
} else tree

compiler/src/dotty/tools/dotc/transform/LazyVals.scala

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
195195
}
196196

197197
private def nullOut(nullables: List[Symbol])(implicit ctx: Context): List[Tree] = {
198-
val nullConst = Literal(Constants.Constant(null))
198+
val nullConst = Literal(Constant(null))
199199
nullables.map { field =>
200200
assert(field.isField)
201201
field.setFlag(Flags.Mutable)
@@ -220,7 +220,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
220220
def mkNonThreadSafeDef(target: Tree, flag: Tree, rhs: Tree, nullables: List[Symbol])(implicit ctx: Context) = {
221221
val stats = new mutable.ListBuffer[Tree]
222222
if (!isWildcardArg(rhs)) stats += target.becomes(rhs)
223-
stats += flag.becomes(Literal(Constants.Constant(true))) ++= nullOut(nullables)
223+
stats += flag.becomes(Literal(Constant(true))) ++= nullOut(nullables)
224224
If(flag.ensureApplied, target.ensureApplied, Block(stats.toList, target.ensureApplied))
225225
}
226226

@@ -262,7 +262,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
262262
else {
263263
val flagName = LazyBitMapName.fresh(x.name.asTermName)
264264
val flagSymbol = ctx.newSymbol(x.symbol.owner, flagName, containerFlags | Flags.Private, defn.BooleanType).enteredAfter(this)
265-
val flag = ValDef(flagSymbol, Literal(Constants.Constant(false)))
265+
val flag = ValDef(flagSymbol, Literal(Constant(false)))
266266
val slowPath = DefDef(x.symbol.asTerm, mkNonThreadSafeDef(ref(containerSymbol), ref(flagSymbol), x.rhs, nullableFor(x.symbol)))
267267
Thicket(containerTree, flag, slowPath)
268268
}
@@ -315,10 +315,10 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
315315
setFlagState: Tree,
316316
waitOnLock: Tree,
317317
nullables: List[Symbol])(implicit ctx: Context) = {
318-
val initState = Literal(Constants.Constant(0))
319-
val computeState = Literal(Constants.Constant(1))
320-
val notifyState = Literal(Constants.Constant(2))
321-
val computedState = Literal(Constants.Constant(3))
318+
val initState = Literal(Constant(0))
319+
val computeState = Literal(Constant(1))
320+
val notifyState = Literal(Constant(2))
321+
val computedState = Literal(Constant(3))
322322
val flagSymbol = ctx.newSymbol(methodSymbol, lazyNme.flag, containerFlags, defn.LongType)
323323
val flagDef = ValDef(flagSymbol, Literal(Constant(0L)))
324324

@@ -328,7 +328,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
328328
val resultDef = ValDef(resultSymbol, defaultValue(tp))
329329

330330
val retrySymbol = ctx.newSymbol(methodSymbol, lazyNme.retry, containerFlags, defn.BooleanType)
331-
val retryDef = ValDef(retrySymbol, Literal(Constants.Constant(true)))
331+
val retryDef = ValDef(retrySymbol, Literal(Constant(true)))
332332

333333
val whileCond = ref(retrySymbol)
334334

@@ -346,7 +346,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
346346
val compute = ref(resultSymbol).becomes(rhs)
347347
val tr = Try(compute, List(handler), EmptyTree)
348348
val assign = ref(target).becomes(ref(resultSymbol))
349-
val noRetry = ref(retrySymbol).becomes(Literal(Constants.Constant(false)))
349+
val noRetry = ref(retrySymbol).becomes(Literal(Constant(false)))
350350
val body = If(casFlag.appliedTo(thiz, offset, ref(flagSymbol), computeState, Literal(Constant(ord))),
351351
Block(tr :: assign :: complete :: noRetry :: Nil, Literal(Constant(()))),
352352
Literal(Constant(())))
@@ -365,7 +365,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
365365
}
366366

367367
val computed = {
368-
val noRetry = ref(retrySymbol).becomes(Literal(Constants.Constant(false)))
368+
val noRetry = ref(retrySymbol).becomes(Literal(Constant(false)))
369369
val result = ref(resultSymbol).becomes(ref(target))
370370
val body = Block(noRetry :: result :: Nil, Literal(Constant(())))
371371
CaseDef(computedState, EmptyTree, body)
@@ -413,7 +413,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
413413
offsetSymbol.addAnnotation(Annotation(defn.ScalaStaticAnnot))
414414
val flagName = (StdNames.nme.BITMAP_PREFIX + id.toString).toTermName
415415
val flagSymbol = ctx.newSymbol(claz, flagName, containerFlags, defn.LongType).enteredAfter(this)
416-
flag = ValDef(flagSymbol, Literal(Constants.Constant(0L)))
416+
flag = ValDef(flagSymbol, Literal(Constant(0L)))
417417
val offsetTree = ValDef(offsetSymbol, getOffset.appliedTo(thizClass, Literal(Constant(flagName.toString))))
418418
info.defs = offsetTree :: info.defs
419419
}
@@ -423,7 +423,7 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
423423
offsetSymbol.addAnnotation(Annotation(defn.ScalaStaticAnnot))
424424
val flagName = (StdNames.nme.BITMAP_PREFIX + "0").toTermName
425425
val flagSymbol = ctx.newSymbol(claz, flagName, containerFlags, defn.LongType).enteredAfter(this)
426-
flag = ValDef(flagSymbol, Literal(Constants.Constant(0L)))
426+
flag = ValDef(flagSymbol, Literal(Constant(0L)))
427427
val offsetTree = ValDef(offsetSymbol, getOffset.appliedTo(thizClass, Literal(Constant(flagName.toString))))
428428
appendOffsetDefs += (claz -> new OffsetInfo(List(offsetTree), ord))
429429
}

0 commit comments

Comments
 (0)