File tree 2 files changed +2
-2
lines changed
compiler/src/dotty/tools/dotc/typer
2 files changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -905,7 +905,7 @@ class Namer { typer: Typer =>
905
905
||
906
906
// remove synthetic constructor or method of a java Record if it clashes with a non-synthetic constructor
907
907
(isJavaRecord(denot.owner)
908
- && ( denot.isConstructor || definesMember )
908
+ && denot.is( Method )
909
909
&& denot.owner.unforcedDecls.lookupAll(denot.name).exists(c => c != denot.symbol && c.info.matches(denot.info))
910
910
)
911
911
)
Original file line number Diff line number Diff line change @@ -2442,7 +2442,7 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
2442
2442
def canBeInvalidated (sym : Symbol ): Boolean =
2443
2443
sym.is(Synthetic )
2444
2444
&& (desugar.isRetractableCaseClassMethodName(sym.name) ||
2445
- (sym.owner.is(JavaDefined ) && sym.owner.derivesFrom(defn.JavaRecordClass )))
2445
+ (sym.owner.is(JavaDefined ) && sym.owner.derivesFrom(defn.JavaRecordClass ) && sym.is( Method ) ))
2446
2446
2447
2447
if ! sym.info.exists then
2448
2448
// it's a discarded method (synthetic case class method or synthetic java record constructor or overriden member), drop it
You can’t perform that action at this time.
0 commit comments