@@ -923,6 +923,11 @@ static void lookupVisibleDynamicMemberLookupDecls(
923
923
LazyResolver *typeResolver, GenericSignatureBuilder *GSB,
924
924
VisitedSet &visited, llvm::DenseSet<TypeBase *> &seenDynamicLookup);
925
925
926
+ // / Enumerates all members of \c baseType, including both directly visible and
927
+ // / members visible by keypath dynamic member lookup.
928
+ // /
929
+ // / \note This is an implementation detail of \c lookupVisibleMemberDecls and
930
+ // / exists to create the correct recursion for dynamic member lookup.
926
931
static void lookupVisibleMemberAndDynamicMemberDecls (
927
932
Type baseType, VisibleDeclConsumer &consumer,
928
933
KeyPathDynamicMemberConsumer &dynamicMemberConsumer, const DeclContext *DC,
@@ -936,6 +941,12 @@ static void lookupVisibleMemberAndDynamicMemberDecls(
936
941
seenDynamicLookup);
937
942
}
938
943
944
+ // / Enumerates all keypath dynamic members of \c baseType, as seen from the
945
+ // / context \c dc.
946
+ // /
947
+ // / If \c baseType is \c @dynamicMemberLookup, this looks up any keypath
948
+ // / dynamic member subscripts and looks up the members of the keypath's root
949
+ // / type.
939
950
static void lookupVisibleDynamicMemberLookupDecls (
940
951
Type baseType, KeyPathDynamicMemberConsumer &consumer,
941
952
const DeclContext *dc, LookupState LS, DeclVisibilityKind reason,
0 commit comments