Skip to content

Commit 6470833

Browse files
Avoid cycles in transform
1 parent b720d6c commit 6470833

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ class ElimRepeated extends MiniPhase with InfoTransformer { thisPhase =>
6262
super.transform(ref) match
6363
case ref1: SymDenotation if ref1.is(Method) =>
6464
val sym = ref1.symbol
65-
val isJavaOverride = overridesJava(sym)
65+
val isJavaOverride = (ref1 ne ref) && overridesJava(sym) // (ref1 ne ref) avoids cycles
6666
transformVarArgs(sym, isJavaOverride)
67-
if (ref1 ne ref) && isJavaOverride then
67+
if isJavaOverride then
6868
// This method won't override the corresponding Java method at the end of this phase,
6969
// only the forwarder added by `addVarArgsForwarder` will.
7070
ref1.copySymDenotation(initFlags = ref1.flags &~ Override)

0 commit comments

Comments
 (0)