Skip to content

Commit 1e46526

Browse files
committed
Convert TreeUnpickler context functions to CFTs (3)
1 parent 2030c51 commit 1e46526

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala

+7-7
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,7 @@ class TreeUnpickler(reader: TastyReader,
681681
readByte()
682682
val end = readEnd()
683683
val tp = readType()
684-
val lazyAnnotTree = readLaterWithOwner(end, rdr => implicit ctx => rdr.readTerm())
684+
val lazyAnnotTree = readLaterWithOwner(end, _.readTerm())
685685
owner =>
686686
Annotation.deferredSymAndTree(tp.typeSymbol)(lazyAnnotTree(owner).complete)
687687

@@ -789,7 +789,7 @@ class TreeUnpickler(reader: TastyReader,
789789
def complete(using Context) = typer.Inliner.bodyToInline(sym)
790790
}
791791
else
792-
readLater(end, rdr => implicit ctx => rdr.readTerm())
792+
readLater(end, _.readTerm())
793793

794794
def ValDef(tpt: Tree) =
795795
ta.assignType(untpd.ValDef(sym.name.asTermName, tpt, readRhs(using localCtx)), sym)
@@ -926,7 +926,7 @@ class TreeUnpickler(reader: TastyReader,
926926
val constr = readIndexedDef().asInstanceOf[DefDef]
927927
val mappedParents = parents.map(_.changeOwner(localDummy, constr.symbol))
928928

929-
val lazyStats = readLater(end, rdr => implicit ctx => {
929+
val lazyStats = readLater(end, rdr => {
930930
val stats = rdr.readIndexedStats(localDummy, end)
931931
tparams ++ vparams ++ stats
932932
})
@@ -1308,10 +1308,10 @@ class TreeUnpickler(reader: TastyReader,
13081308
setSpan(start, CaseDef(pat, guard, rhs))
13091309
}
13101310

1311-
def readLater[T <: AnyRef](end: Addr, op: TreeReader => Context => T)(using Context): Trees.Lazy[T] =
1311+
def readLater[T <: AnyRef](end: Addr, op: TreeReader => Context ?=> T)(using Context): Trees.Lazy[T] =
13121312
readLaterWithOwner(end, op)(ctx.owner)
13131313

1314-
def readLaterWithOwner[T <: AnyRef](end: Addr, op: TreeReader => Context => T)(using Context): Symbol => Trees.Lazy[T] = {
1314+
def readLaterWithOwner[T <: AnyRef](end: Addr, op: TreeReader => Context ?=> T)(using Context): Symbol => Trees.Lazy[T] = {
13151315
val localReader = fork
13161316
goto(end)
13171317
owner => new LazyReader(localReader, owner, ctx.mode, ctx.source, op)
@@ -1372,10 +1372,10 @@ class TreeUnpickler(reader: TastyReader,
13721372

13731373
class LazyReader[T <: AnyRef](
13741374
reader: TreeReader, owner: Symbol, mode: Mode, source: SourceFile,
1375-
op: TreeReader => Context => T) extends Trees.Lazy[T] {
1375+
op: TreeReader => Context ?=> T) extends Trees.Lazy[T] {
13761376
def complete(using Context): T = {
13771377
pickling.println(i"starting to read at ${reader.reader.currentAddr} with owner $owner")
1378-
op(reader)(ctx
1378+
op(reader)(using ctx
13791379
.withPhaseNoLater(picklerPhase)
13801380
.withOwner(owner)
13811381
.withModeBits(mode)

0 commit comments

Comments
 (0)