Skip to content

Commit c8afe26

Browse files
authored
Rename TreeUnpickler.{readTerm => readTree} (#17299)
Take care of old `TODO`. https://github.com/lampepfl/dotty/blob/6980b2e1361644ee7768f2819dcee8ab5ef49780/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala#L1165 The previous name was misleading as `readTerm` could also read types.
2 parents ef382de + 75e0460 commit c8afe26

File tree

1 file changed

+59
-59
lines changed

1 file changed

+59
-59
lines changed

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

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ class TreeUnpickler(reader: TastyReader,
114114
val rdr = new TreeReader(reader)
115115
mode match {
116116
case UnpickleMode.TopLevel => rdr.readTopLevel()
117-
case UnpickleMode.Term => rdr.readTerm() :: Nil
117+
case UnpickleMode.Term => rdr.readTree() :: Nil
118118
case UnpickleMode.TypeTree => rdr.readTpt() :: Nil
119119
}
120120
}
@@ -389,7 +389,7 @@ class TreeUnpickler(reader: TastyReader,
389389
val hi = readVariances(readType())
390390
createNullableTypeBounds(lo, hi)
391391
case ANNOTATEDtype =>
392-
AnnotatedType(readType(), Annotation(readTerm()))
392+
AnnotatedType(readType(), Annotation(readTree()))
393393
case ANDtype =>
394394
AndType(readType(), readType())
395395
case ORtype =>
@@ -488,7 +488,7 @@ class TreeUnpickler(reader: TastyReader,
488488
def readTypeRef(): Type =
489489
typeAtAddr(readAddr())
490490

491-
def readTermRef()(using Context): TermRef =
491+
def readTreeRef()(using Context): TermRef =
492492
readType().asInstanceOf[TermRef]
493493

494494
/** Under pureFunctions, map all function types to impure function types,
@@ -656,7 +656,7 @@ class TreeUnpickler(reader: TastyReader,
656656
val ctx1 = localContext(sym)(using ctx0).addMode(Mode.ReadPositions)
657657
inContext(sourceChangeContext(Addr(0))(using ctx1)) {
658658
// avoids space leaks by not capturing the current context
659-
forkAt(rhsStart).readTerm()
659+
forkAt(rhsStart).readTree()
660660
}
661661
})
662662
goto(start)
@@ -739,7 +739,7 @@ class TreeUnpickler(reader: TastyReader,
739739
readByte()
740740
val end = readEnd()
741741
val tp = readType()
742-
val lazyAnnotTree = readLaterWithOwner(end, _.readTerm())
742+
val lazyAnnotTree = readLaterWithOwner(end, _.readTree())
743743
owner =>
744744
new DeferredSymAndTree(tp.typeSymbol, lazyAnnotTree(owner).complete):
745745
// Only force computation of symbol if it has the right name. This added
@@ -790,7 +790,7 @@ class TreeUnpickler(reader: TastyReader,
790790
if (sctx `ne` ctx) return processPackage(op)(using sctx)
791791
readByte()
792792
val end = readEnd()
793-
val pid = ref(readTermRef()).asInstanceOf[RefTree]
793+
val pid = ref(readTreeRef()).asInstanceOf[RefTree]
794794
op(pid, end)(using localContext(pid.symbol.moduleClass))
795795
}
796796

@@ -858,7 +858,7 @@ class TreeUnpickler(reader: TastyReader,
858858
def complete(using Context) = inlines.Inlines.bodyToInline(sym)
859859
}
860860
else
861-
readLater(end, _.readTerm())
861+
readLater(end, _.readTree())
862862

863863
def ValDef(tpt: Tree) =
864864
ta.assignType(untpd.ValDef(sym.name.asTermName, tpt, readRhs(using localCtx)), sym)
@@ -984,7 +984,7 @@ class TreeUnpickler(reader: TastyReader,
984984
case SELECTin =>
985985
val end = readEnd()
986986
readName()
987-
readTerm() match
987+
readTree() match
988988
case nu: New =>
989989
try nu.tpe
990990
finally goto(end)
@@ -1000,7 +1000,7 @@ class TreeUnpickler(reader: TastyReader,
10001000
collectWhile(nextByte != SELFDEF && nextByte != DEFDEF) {
10011001
nextUnsharedTag match
10021002
case APPLY | TYPEAPPLY | BLOCK =>
1003-
if withArgs then readTerm()
1003+
if withArgs then readTree()
10041004
else InferredTypeTree().withType(readParentType())
10051005
case _ => readTpt()
10061006
}
@@ -1095,7 +1095,7 @@ class TreeUnpickler(reader: TastyReader,
10951095
setSpan(start, PackageDef(pid, readIndexedStats(exprOwner, end)))
10961096
}
10971097
case _ =>
1098-
readTerm()(using ctx.withOwner(exprOwner))
1098+
readTree()(using ctx.withOwner(exprOwner))
10991099
}
11001100

11011101
inline def readImportOrExport(inline mkTree:
@@ -1104,7 +1104,7 @@ class TreeUnpickler(reader: TastyReader,
11041104
assert(sourcePathAt(start).isEmpty)
11051105
readByte()
11061106
readEnd()
1107-
val expr = readTerm()
1107+
val expr = readTree()
11081108
setSpan(start, mkTree(expr, readSelectors()))
11091109
}
11101110

@@ -1162,14 +1162,14 @@ class TreeUnpickler(reader: TastyReader,
11621162

11631163
// ------ Reading trees -----------------------------------------------------
11641164

1165-
def readTerm()(using Context): Tree = { // TODO: rename to readTree
1165+
def readTree()(using Context): Tree = {
11661166
val sctx = sourceChangeContext()
1167-
if (sctx `ne` ctx) return readTerm()(using sctx)
1167+
if (sctx `ne` ctx) return readTree()(using sctx)
11681168
val start = currentAddr
11691169
val tag = readByte()
11701170
pickling.println(s"reading term ${astTagToString(tag)} at $start, ${ctx.source}")
11711171

1172-
def readPathTerm(): Tree = {
1172+
def readPathTree(): Tree = {
11731173
goto(start)
11741174
readType() match {
11751175
case path: TypeRef => TypeTree(path)
@@ -1189,12 +1189,12 @@ class TreeUnpickler(reader: TastyReader,
11891189
ConstFold.Select(untpd.Select(qual, name).withType(tpe))
11901190

11911191
def completeSelect(name: Name, sig: Signature, target: Name): Select =
1192-
val qual = readTerm()
1192+
val qual = readTree()
11931193
val denot = accessibleDenot(qual.tpe.widenIfUnstable, name, sig, target)
11941194
makeSelect(qual, name, denot)
11951195

11961196
def readQualId(): (untpd.Ident, TypeRef) =
1197-
val qual = readTerm().asInstanceOf[untpd.Ident]
1197+
val qual = readTree().asInstanceOf[untpd.Ident]
11981198
(untpd.Ident(qual.name).withSpan(qual.span), qual.tpe.asInstanceOf[TypeRef])
11991199

12001200
def accessibleDenot(qualType: Type, name: Name, sig: Signature, target: Name) = {
@@ -1204,9 +1204,9 @@ class TreeUnpickler(reader: TastyReader,
12041204
else qualType.findMember(name, pre, excluded = Private).atSignature(sig, target)
12051205
}
12061206

1207-
def readSimpleTerm(): Tree = tag match {
1207+
def readSimpleTree(): Tree = tag match {
12081208
case SHAREDterm =>
1209-
forkAt(readAddr()).readTerm()
1209+
forkAt(readAddr()).readTree()
12101210
case IDENT =>
12111211
untpd.Ident(readName()).withType(readType())
12121212
case IDENTtpt =>
@@ -1225,16 +1225,16 @@ class TreeUnpickler(reader: TastyReader,
12251225
case NEW =>
12261226
New(readTpt())
12271227
case THROW =>
1228-
Throw(readTerm())
1228+
Throw(readTree())
12291229
case SINGLETONtpt =>
1230-
SingletonTypeTree(readTerm())
1230+
SingletonTypeTree(readTree())
12311231
case BYNAMEtpt =>
12321232
val arg = readTpt()
12331233
ByNameTypeTree(if knowsPureFuns then arg else arg.adaptByNameArgUnderPureFuns)
12341234
case NAMEDARG =>
1235-
NamedArg(readName(), readTerm())
1235+
NamedArg(readName(), readTree())
12361236
case _ =>
1237-
readPathTerm()
1237+
readPathTree()
12381238
}
12391239

12401240
/** Adapt constructor calls where class has only using clauses from old to new scheme.
@@ -1271,58 +1271,58 @@ class TreeUnpickler(reader: TastyReader,
12711271
tree.overwriteType(tree.tpe.simplified)
12721272
tree
12731273

1274-
def readLengthTerm(): Tree = {
1274+
def readLengthTree(): Tree = {
12751275
val end = readEnd()
12761276
val result =
12771277
(tag: @switch) match {
12781278
case SUPER =>
1279-
val qual = readTerm()
1279+
val qual = readTree()
12801280
val (mixId, mixTpe) = ifBefore(end)(readQualId(), (untpd.EmptyTypeIdent, NoType))
12811281
tpd.Super(qual, mixId, mixTpe.typeSymbol)
12821282
case APPLY =>
1283-
val fn = readTerm()
1284-
val args = until(end)(readTerm())
1283+
val fn = readTree()
1284+
val args = until(end)(readTree())
12851285
if fn.symbol.isConstructor then constructorApply(fn, args)
12861286
else tpd.Apply(fn, args)
12871287
case TYPEAPPLY =>
1288-
tpd.TypeApply(readTerm(), until(end)(readTpt()))
1288+
tpd.TypeApply(readTree(), until(end)(readTpt()))
12891289
case APPLYsigpoly =>
1290-
val fn = readTerm()
1290+
val fn = readTree()
12911291
val methType = readType()
1292-
val args = until(end)(readTerm())
1292+
val args = until(end)(readTree())
12931293
val fun2 = typer.Applications.retypeSignaturePolymorphicFn(fn, methType)
12941294
tpd.Apply(fun2, args)
12951295
case TYPED =>
1296-
val expr = readTerm()
1296+
val expr = readTree()
12971297
val tpt = readTpt()
12981298
Typed(expr, tpt)
12991299
case ASSIGN =>
1300-
Assign(readTerm(), readTerm())
1300+
Assign(readTree(), readTree())
13011301
case BLOCK =>
13021302
val exprReader = fork
13031303
skipTree()
13041304
readStats(ctx.owner, end,
1305-
(stats, ctx) => Block(stats, exprReader.readTerm()(using ctx)))
1305+
(stats, ctx) => Block(stats, exprReader.readTree()(using ctx)))
13061306
case INLINED =>
13071307
val exprReader = fork
13081308
skipTree()
13091309
def maybeCall = nextUnsharedTag match {
13101310
case VALDEF | DEFDEF => EmptyTree
1311-
case _ => readTerm()
1311+
case _ => readTree()
13121312
}
13131313
val call = ifBefore(end)(maybeCall, EmptyTree)
13141314
val bindings = readStats(ctx.owner, end).asInstanceOf[List[ValOrDefDef]]
1315-
val expansion = exprReader.readTerm() // need bindings in scope, so needs to be read before
1315+
val expansion = exprReader.readTree() // need bindings in scope, so needs to be read before
13161316
Inlined(call, bindings, expansion)
13171317
case IF =>
13181318
if (nextByte == INLINE) {
13191319
readByte()
1320-
InlineIf(readTerm(), readTerm(), readTerm())
1320+
InlineIf(readTree(), readTree(), readTree())
13211321
}
13221322
else
1323-
If(readTerm(), readTerm(), readTerm())
1323+
If(readTree(), readTree(), readTree())
13241324
case LAMBDA =>
1325-
val meth = readTerm()
1325+
val meth = readTree()
13261326
val tpt = ifBefore(end)(readTpt(), EmptyTree)
13271327
Closure(Nil, meth, tpt)
13281328
case MATCH =>
@@ -1333,24 +1333,24 @@ class TreeUnpickler(reader: TastyReader,
13331333
}
13341334
else if (nextByte == INLINE) {
13351335
readByte()
1336-
InlineMatch(readTerm(), readCases(end))
1336+
InlineMatch(readTree(), readCases(end))
13371337
}
1338-
else Match(readTerm(), readCases(end)))
1338+
else Match(readTree(), readCases(end)))
13391339
case RETURN =>
13401340
val from = readSymRef()
1341-
val expr = ifBefore(end)(readTerm(), EmptyTree)
1341+
val expr = ifBefore(end)(readTree(), EmptyTree)
13421342
Return(expr, Ident(from.termRef))
13431343
case WHILE =>
1344-
WhileDo(readTerm(), readTerm())
1344+
WhileDo(readTree(), readTree())
13451345
case TRY =>
13461346
simplifyLub(
1347-
Try(readTerm(), readCases(end), ifBefore(end)(readTerm(), EmptyTree)))
1347+
Try(readTree(), readCases(end), ifBefore(end)(readTree(), EmptyTree)))
13481348
case SELECTouter =>
13491349
val levels = readNat()
1350-
readTerm().outerSelect(levels, SkolemType(readType()))
1350+
readTree().outerSelect(levels, SkolemType(readType()))
13511351
case SELECTin =>
13521352
var sname = readName()
1353-
val qual = readTerm()
1353+
val qual = readTree()
13541354
val ownerTpe = readType()
13551355
val owner = ownerTpe.typeSymbol
13561356
val SignedName(name, sig, target) = sname: @unchecked // only methods with params use SELECTin
@@ -1381,26 +1381,26 @@ class TreeUnpickler(reader: TastyReader,
13811381
makeSelect(qual, name, denot)
13821382
case REPEATED =>
13831383
val elemtpt = readTpt()
1384-
SeqLiteral(until(end)(readTerm()), elemtpt)
1384+
SeqLiteral(until(end)(readTree()), elemtpt)
13851385
case BIND =>
13861386
val sym = symAtAddr.getOrElse(start, forkAt(start).createSymbol())
13871387
readName()
13881388
readType()
1389-
val body = readTerm()
1389+
val body = readTree()
13901390
val (givenFlags, _, _) = readModifiers(end)
13911391
sym.setFlag(givenFlags)
13921392
Bind(sym, body)
13931393
case ALTERNATIVE =>
1394-
Alternative(until(end)(readTerm()))
1394+
Alternative(until(end)(readTree()))
13951395
case UNAPPLY =>
1396-
val fn = readTerm()
1396+
val fn = readTree()
13971397
val implicitArgs =
13981398
collectWhile(nextByte == IMPLICITarg) {
13991399
readByte()
1400-
readTerm()
1400+
readTree()
14011401
}
14021402
val patType = readType()
1403-
val argPats = until(end)(readTerm())
1403+
val argPats = until(end)(readTree())
14041404
UnApply(fn, implicitArgs, argPats, patType)
14051405
case REFINEDtpt =>
14061406
val refineCls = symAtAddr.getOrElse(start,
@@ -1420,7 +1420,7 @@ class TreeUnpickler(reader: TastyReader,
14201420
val ownType = ctx.typeAssigner.processAppliedType(tree, tycon.tpe.safeAppliedTo(args.tpes))
14211421
tree.withType(postProcessFunction(ownType))
14221422
case ANNOTATEDtpt =>
1423-
Annotated(readTpt(), readTerm())
1423+
Annotated(readTpt(), readTree())
14241424
case LAMBDAtpt =>
14251425
val tparams = readParams[TypeDef](TYPEPARAM)
14261426
val body = readTpt()
@@ -1438,16 +1438,16 @@ class TreeUnpickler(reader: TastyReader,
14381438
case HOLE =>
14391439
val idx = readNat()
14401440
val tpe = readType()
1441-
val args = until(end)(readTerm())
1441+
val args = until(end)(readTree())
14421442
Hole(true, idx, args, EmptyTree, TypeTree(tpe)).withType(tpe)
14431443
case _ =>
1444-
readPathTerm()
1444+
readPathTree()
14451445
}
14461446
assert(currentAddr == end, s"$start $currentAddr $end ${astTagToString(tag)}")
14471447
result
14481448
}
14491449

1450-
val tree = if (tag < firstLengthTreeTag) readSimpleTerm() else readLengthTerm()
1450+
val tree = if (tag < firstLengthTreeTag) readSimpleTree() else readLengthTree()
14511451
setSpan(start, tree)
14521452
}
14531453

@@ -1472,10 +1472,10 @@ class TreeUnpickler(reader: TastyReader,
14721472
val end = readEnd()
14731473
val idx = readNat()
14741474
val tpe = readType()
1475-
val args = until(end)(readTerm())
1475+
val args = until(end)(readTree())
14761476
Hole(false, idx, args, EmptyTree, TypeTree(tpe)).withType(tpe)
14771477
case _ =>
1478-
if (isTypeTreeTag(nextByte)) readTerm()
1478+
if (isTypeTreeTag(nextByte)) readTree()
14791479
else {
14801480
val start = currentAddr
14811481
val tp = readType()
@@ -1500,9 +1500,9 @@ class TreeUnpickler(reader: TastyReader,
15001500
val start = currentAddr
15011501
assert(readByte() == CASEDEF)
15021502
val end = readEnd()
1503-
val pat = readTerm()
1504-
val rhs = readTerm()
1505-
val guard = ifBefore(end)(readTerm(), EmptyTree)
1503+
val pat = readTree()
1504+
val rhs = readTree()
1505+
val guard = ifBefore(end)(readTree(), EmptyTree)
15061506
setSpan(start, CaseDef(pat, guard, rhs))
15071507
}
15081508

0 commit comments

Comments
 (0)