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 @@ -908,7 +908,7 @@ class Namer { typer: Typer =>
908
908
||
909
909
// remove synthetic constructor or method of a java Record if it clashes with a non-synthetic constructor
910
910
(isJavaRecord(denot.owner)
911
- && ( denot.isConstructor || definesMember )
911
+ && denot.is( Method )
912
912
&& denot.owner.unforcedDecls.lookupAll(denot.name).exists(c => c != denot.symbol && c.info.matches(denot.info))
913
913
)
914
914
)
Original file line number Diff line number Diff line change @@ -2548,7 +2548,7 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
2548
2548
def canBeInvalidated (sym : Symbol ): Boolean =
2549
2549
sym.is(Synthetic )
2550
2550
&& (desugar.isRetractableCaseClassMethodName(sym.name) ||
2551
- (sym.owner.is(JavaDefined ) && sym.owner.derivesFrom(defn.JavaRecordClass )))
2551
+ (sym.owner.is(JavaDefined ) && sym.owner.derivesFrom(defn.JavaRecordClass ) && sym.is( Method ) ))
2552
2552
2553
2553
if ! sym.info.exists then
2554
2554
// 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