Lines Matching defs:Friend
351 DeclContext *Friend) {
352 if (Friend == Context)
355 assert(!Friend->isDependentContext() &&
361 if (Friend->isFileContext())
370 static bool MightInstantiateTo(Sema &S, CanQualType Context, CanQualType Friend) {
371 if (Friend == Context)
374 if (!Friend->isDependentType() && !Context->isDependentType())
383 FunctionDecl *Friend) {
384 if (Context->getDeclName() != Friend->getDeclName())
389 Friend->getDeclContext()))
393 = S.Context.getCanonicalType(Friend->getType())
421 FunctionTemplateDecl *Friend) {
424 Friend->getTemplatedDecl());
429 const CXXRecordDecl *Friend) {
430 if (EC.includesClass(Friend))
435 if (MightInstantiateTo(Context, Friend))
445 CanQualType Friend) {
446 if (const RecordType *RT = Friend->getAs<RecordType>())
450 if (Friend->isDependentType())
460 ClassTemplateDecl *Friend) {
484 if (Friend == CTD->getCanonicalDecl())
493 if (CTD->getDeclName() != Friend->getDeclName())
499 Friend->getDeclContext()))
513 FunctionDecl *Friend) {
518 if (Friend == *I)
521 if (EC.isDependent() && MightInstantiateTo(S, *I, Friend))
532 FunctionTemplateDecl *Friend) {
548 if (Friend == FTD)
551 if (EC.isDependent() && MightInstantiateTo(S, FTD, Friend))
571 NamedDecl *Friend
576 if (isa<ClassTemplateDecl>(Friend))
577 return MatchesFriend(S, EC, cast<ClassTemplateDecl>(Friend));
579 if (isa<FunctionTemplateDecl>(Friend))
580 return MatchesFriend(S, EC, cast<FunctionTemplateDecl>(Friend));
582 if (isa<CXXRecordDecl>(Friend))
583 return MatchesFriend(S, EC, cast<CXXRecordDecl>(Friend));
585 assert(isa<FunctionDecl>(Friend) && "unknown friend decl kind");
586 return MatchesFriend(S, EC, cast<FunctionDecl>(Friend));
595 for (auto *Friend : Class->friends()) {
596 switch (MatchesFriend(S, EC, Friend)) {