Skip to content

Commit b90f530

Browse files
committed
Fix ElimRepeated not transforming modifiers in tree.
1 parent 9ce8c79 commit b90f530

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/dotty/tools/dotc/core/pickling/UnPickler.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -831,7 +831,7 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot:
831831
}
832832
t.toList
833833
}
834-
println(atp)
834+
// println(atp)
835835
val typer = ctx.typer
836836
val proto = new FunProtoTyped(args, atp, typer)
837837
val alts = atp.member(nme.CONSTRUCTOR).alternatives.map(_.termRef)

src/dotty/tools/dotc/transform/ElimRepeated.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,13 @@ class ElimRepeated extends MiniPhaseTransform with InfoTransformer { thisTransfo
9292
override def transformDefDef(tree: DefDef)(implicit ctx: Context, info: TransformerInfo): Tree = {
9393
assert(ctx.phase == thisTransformer)
9494
def overridesJava = tree.symbol.allOverriddenSymbols.exists(_ is JavaDefined)
95+
val newAnnots = tree.mods.annotations.mapConserve(annotTransformer.transform)
96+
val newTree = if (newAnnots eq tree.mods.annotations) tree
97+
else cpy.DefDef(tree)(mods = Modifiers(tree.mods.flags, tree.mods.privateWithin, newAnnots))
9598
if (tree.symbol.info.isVarArgsMethod && overridesJava)
96-
addVarArgsBridge(tree)(ctx.withPhase(thisTransformer.next))
99+
addVarArgsBridge(newTree)(ctx.withPhase(thisTransformer.next))
97100
else
98-
tree
101+
newTree
99102
}
100103

101104
/** Add a Java varargs bridge

0 commit comments

Comments
 (0)