Skip to content

Commit

Permalink
Wunused: Check if symbol exists before isValidMemberDef check
Browse files Browse the repository at this point in the history
closes lampepfl#17309
  • Loading branch information
KacperFKorban authored and Kordyjan committed Apr 26, 2023
1 parent 40502e0 commit 716b867
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions compiler/src/dotty/tools/dotc/transform/CheckUnused.scala
Original file line number Diff line number Diff line change
Expand Up @@ -681,7 +681,7 @@ object CheckUnused:
/** A function is overriden. Either has `override flags` or parent has a matching member (type and name) */
private def isOverriden(using Context): Boolean =
sym.is(Flags.Override) ||
(if sym.exists then sym.owner.thisType.parents.exists(p => sym.matchingMember(p).exists) else false)
(sym.exists && sym.owner.thisType.parents.exists(p => sym.matchingMember(p).exists))

end extension

Expand All @@ -708,7 +708,11 @@ object CheckUnused:

extension (memDef: tpd.MemberDef)
private def isValidMemberDef(using Context): Boolean =
!memDef.symbol.isUnusedAnnot && !memDef.symbol.isAllOf(Flags.AccessorCreationFlags) && !memDef.name.isWildcard && !memDef.symbol.owner.is(Extension)
memDef.symbol.exists
&& !memDef.symbol.isUnusedAnnot
&& !memDef.symbol.isAllOf(Flags.AccessorCreationFlags)
&& !memDef.name.isWildcard
&& !memDef.symbol.owner.is(ExtensionMethod)

private def isValidParam(using Context): Boolean =
val sym = memDef.symbol
Expand Down

0 comments on commit 716b867

Please sign in to comment.