Lines Matching refs:Friend
302 DeclContext *Friend) { in MightInstantiateTo() argument
303 if (Friend == Context) in MightInstantiateTo()
306 assert(!Friend->isDependentContext() && in MightInstantiateTo()
312 if (Friend->isFileContext()) in MightInstantiateTo()
321 static bool MightInstantiateTo(Sema &S, CanQualType Context, CanQualType Friend) { in MightInstantiateTo() argument
322 if (Friend == Context) in MightInstantiateTo()
325 if (!Friend->isDependentType() && !Context->isDependentType()) in MightInstantiateTo()
334 FunctionDecl *Friend) { in MightInstantiateTo() argument
335 if (Context->getDeclName() != Friend->getDeclName()) in MightInstantiateTo()
340 Friend->getDeclContext())) in MightInstantiateTo()
344 = S.Context.getCanonicalType(Friend->getType()) in MightInstantiateTo()
374 FunctionTemplateDecl *Friend) { in MightInstantiateTo() argument
377 Friend->getTemplatedDecl()); in MightInstantiateTo()
382 const CXXRecordDecl *Friend) { in MatchesFriend() argument
383 if (EC.includesClass(Friend)) in MatchesFriend()
388 = S.Context.getCanonicalType(S.Context.getTypeDeclType(Friend)); in MatchesFriend()
404 CanQualType Friend) { in MatchesFriend() argument
405 if (const RecordType *RT = Friend->getAs<RecordType>()) in MatchesFriend()
409 if (Friend->isDependentType()) in MatchesFriend()
419 ClassTemplateDecl *Friend) { in MatchesFriend() argument
443 if (Friend == CTD->getCanonicalDecl()) in MatchesFriend()
452 if (CTD->getDeclName() != Friend->getDeclName()) in MatchesFriend()
458 Friend->getDeclContext())) in MatchesFriend()
472 FunctionDecl *Friend) { in MatchesFriend() argument
477 if (Friend == *I) in MatchesFriend()
480 if (EC.isDependent() && MightInstantiateTo(S, *I, Friend)) in MatchesFriend()
491 FunctionTemplateDecl *Friend) { in MatchesFriend() argument
507 if (Friend == FTD) in MatchesFriend()
510 if (EC.isDependent() && MightInstantiateTo(S, FTD, Friend)) in MatchesFriend()
530 NamedDecl *Friend in MatchesFriend() local
535 if (isa<ClassTemplateDecl>(Friend)) in MatchesFriend()
536 return MatchesFriend(S, EC, cast<ClassTemplateDecl>(Friend)); in MatchesFriend()
538 if (isa<FunctionTemplateDecl>(Friend)) in MatchesFriend()
539 return MatchesFriend(S, EC, cast<FunctionTemplateDecl>(Friend)); in MatchesFriend()
541 if (isa<CXXRecordDecl>(Friend)) in MatchesFriend()
542 return MatchesFriend(S, EC, cast<CXXRecordDecl>(Friend)); in MatchesFriend()
544 assert(isa<FunctionDecl>(Friend) && "unknown friend decl kind"); in MatchesFriend()
545 return MatchesFriend(S, EC, cast<FunctionDecl>(Friend)); in MatchesFriend()
556 FriendDecl *Friend = *I; in GetFriendKind() local
558 switch (MatchesFriend(S, EC, Friend)) { in GetFriendKind()