From 5a193981f88163e5b141161568a7eb283bace823 Mon Sep 17 00:00:00 2001 From: Yilin Wei Date: Fri, 2 Feb 2024 16:33:19 +0000 Subject: [PATCH] Remove redundant `definesMember` check. [Cherry-picked 5be6faca38ff808b01e6bb410c1a922def44e9a7] --- compiler/src/dotty/tools/dotc/typer/Namer.scala | 2 +- compiler/src/dotty/tools/dotc/typer/Typer.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/src/dotty/tools/dotc/typer/Namer.scala b/compiler/src/dotty/tools/dotc/typer/Namer.scala index ecefcf3de215..f2e2da5ca4a1 100644 --- a/compiler/src/dotty/tools/dotc/typer/Namer.scala +++ b/compiler/src/dotty/tools/dotc/typer/Namer.scala @@ -905,7 +905,7 @@ class Namer { typer: Typer => || // remove synthetic constructor or method of a java Record if it clashes with a non-synthetic constructor (isJavaRecord(denot.owner) - && (denot.isConstructor || definesMember) + && denot.is(Method) && denot.owner.unforcedDecls.lookupAll(denot.name).exists(c => c != denot.symbol && c.info.matches(denot.info)) ) ) diff --git a/compiler/src/dotty/tools/dotc/typer/Typer.scala b/compiler/src/dotty/tools/dotc/typer/Typer.scala index a8121f81319f..55adda0505ae 100644 --- a/compiler/src/dotty/tools/dotc/typer/Typer.scala +++ b/compiler/src/dotty/tools/dotc/typer/Typer.scala @@ -2442,7 +2442,7 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer def canBeInvalidated(sym: Symbol): Boolean = sym.is(Synthetic) && (desugar.isRetractableCaseClassMethodName(sym.name) || - (sym.owner.is(JavaDefined) && sym.owner.derivesFrom(defn.JavaRecordClass))) + (sym.owner.is(JavaDefined) && sym.owner.derivesFrom(defn.JavaRecordClass) && sym.is(Method))) if !sym.info.exists then // it's a discarded method (synthetic case class method or synthetic java record constructor or overriden member), drop it