Lines Matching defs:Friend
352 DeclContext *Friend) {
353 if (Friend == Context)
356 assert(!Friend->isDependentContext() &&
362 if (Friend->isFileContext())
371 static bool MightInstantiateTo(Sema &S, CanQualType Context, CanQualType Friend) {
372 if (Friend == Context)
375 if (!Friend->isDependentType() && !Context->isDependentType())
384 FunctionDecl *Friend) {
385 if (Context->getDeclName() != Friend->getDeclName())
390 Friend->getDeclContext()))
394 = S.Context.getCanonicalType(Friend->getType())
422 FunctionTemplateDecl *Friend) {
425 Friend->getTemplatedDecl());
430 const CXXRecordDecl *Friend) {
431 if (EC.includesClass(Friend))
436 if (MightInstantiateTo(Context, Friend))
446 CanQualType Friend) {
447 if (const RecordType *RT = Friend->getAs<RecordType>())
451 if (Friend->isDependentType())
461 ClassTemplateDecl *Friend) {
485 if (Friend == CTD->getCanonicalDecl())
494 if (CTD->getDeclName() != Friend->getDeclName())
500 Friend->getDeclContext()))
514 FunctionDecl *Friend) {
519 if (Friend == *I)
522 if (EC.isDependent() && MightInstantiateTo(S, *I, Friend))
533 FunctionTemplateDecl *Friend) {
549 if (Friend == FTD)
552 if (EC.isDependent() && MightInstantiateTo(S, FTD, Friend))
572 NamedDecl *Friend
577 if (isa<ClassTemplateDecl>(Friend))
578 return MatchesFriend(S, EC, cast<ClassTemplateDecl>(Friend));
580 if (isa<FunctionTemplateDecl>(Friend))
581 return MatchesFriend(S, EC, cast<FunctionTemplateDecl>(Friend));
583 if (isa<CXXRecordDecl>(Friend))
584 return MatchesFriend(S, EC, cast<CXXRecordDecl>(Friend));
586 assert(isa<FunctionDecl>(Friend) && "unknown friend decl kind");
587 return MatchesFriend(S, EC, cast<FunctionDecl>(Friend));
596 for (auto *Friend : Class->friends()) {
597 switch (MatchesFriend(S, EC, Friend)) {