Skip to content

Commit 5619153

Browse files
committed
Make Types#membersBasedOnFlags safer and faster
By filtering excluded flags earlier, we avoid forcing some denotations.
1 parent ba67e55 commit 5619153

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/dotty/tools/dotc/core/Types.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,7 @@ object Types {
612612
/** The set of members of this type having at least one of `requiredFlags` but none of `excludedFlags` set */
613613
final def membersBasedOnFlags(requiredFlags: FlagSet, excludedFlags: FlagSet)(implicit ctx: Context): Seq[SingleDenotation] = track("implicitMembers") {
614614
memberDenots(takeAllFilter,
615-
(name, buf) => buf ++= member(name).altsWith(x => x.is(requiredFlags, butNot = excludedFlags)))
615+
(name, buf) => buf ++= memberExcluding(name, excludedFlags).altsWith(x => x.is(requiredFlags)))
616616
}
617617

618618
/** The info of `sym`, seen as a member of this type. */

0 commit comments

Comments
 (0)