Skip to content

Commit b93b940

Browse files
committed
Add flags to SyntheticValDef
1 parent aefb9af commit b93b940

File tree

2 files changed

+3
-5
lines changed

2 files changed

+3
-5
lines changed

compiler/src/dotty/tools/dotc/ast/tpd.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,8 @@ object tpd extends Trees.Instance[Type] with TypedTreeInfo {
206206
def ValDef(sym: TermSymbol, rhs: LazyTree = EmptyTree)(using Context): ValDef =
207207
ta.assignType(untpd.ValDef(sym.name, TypeTree(sym.info), rhs), sym)
208208

209-
def SyntheticValDef(name: TermName, rhs: Tree)(using Context): ValDef =
210-
ValDef(newSymbol(ctx.owner, name, Synthetic, rhs.tpe.widen, coord = rhs.span), rhs)
209+
def SyntheticValDef(name: TermName, rhs: Tree, flags: FlagSet = EmptyFlags)(using Context): ValDef =
210+
ValDef(newSymbol(ctx.owner, name, Synthetic | flags, rhs.tpe.widen, coord = rhs.span), rhs)
211211

212212
def DefDef(sym: TermSymbol, paramss: List[List[Symbol]],
213213
resultType: Type, rhs: Tree)(using Context): DefDef =

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,7 @@ class CapturedVars extends MiniPhase with IdentityDenotTransformer:
159159
case TypeApply(Select(qual@Select(_, nme.elem), nme.asInstanceOf_), _) =>
160160
recur(qual)
161161
case Select(_, nme.elem) if refInfo.boxedRefClasses.contains(lhs.symbol.maybeOwner) =>
162-
val tempDef = transformFollowing {
163-
ValDef(newSymbol(ctx.owner, TempResultName.fresh(), Mutable | Synthetic, tree.rhs.tpe.widen, coord = tree.rhs.span), tree.rhs)
164-
}
162+
val tempDef = transformFollowing(SyntheticValDef(TempResultName.fresh(), tree.rhs, flags = Mutable))
165163
val update = cpy.Assign(tree)(lhs, ref(tempDef.symbol))
166164
def reset = cpy.Assign(tree)(ref(tempDef.symbol), nullLiteral.cast(tempDef.symbol.info))
167165
val res = if refInfo.objectRefClasses(lhs.symbol.maybeOwner) && !absolved then reset else unitLiteral

0 commit comments

Comments
 (0)