Home | History | Annotate | Download | only in Sema

Lines Matching defs:EC

382                                   const EffectiveContext &EC,
384 if (EC.includesClass(Friend))
387 if (EC.isDependent()) {
392 I = EC.Records.begin(), E = EC.Records.end(); I != E; ++I) {
404 const EffectiveContext &EC,
407 return MatchesFriend(S, EC, cast<CXXRecordDecl>(RT->getDecl()));
419 const EffectiveContext &EC,
426 I = EC.Records.begin(), E = EC.Records.end(); I != E; ++I) {
448 if (!EC.isDependent())
472 const EffectiveContext &EC,
477 I = EC.Functions.begin(), E = EC.Functions.end(); I != E; ++I) {
481 if (EC.isDependent() && MightInstantiateTo(S, *I, Friend))
491 const EffectiveContext &EC,
493 if (EC.Functions.empty()) return AR_inaccessible;
498 I = EC.Functions.begin(), E = EC.Functions.end(); I != E; ++I) {
511 if (EC.isDependent() && MightInstantiateTo(S, FTD, Friend))
521 const EffectiveContext &EC,
529 return MatchesFriend(S, EC, T->getType()->getCanonicalTypeUnqualified());
537 return MatchesFriend(S, EC, cast<ClassTemplateDecl>(Friend));
540 return MatchesFriend(S, EC, cast<FunctionTemplateDecl>(Friend));
543 return MatchesFriend(S, EC, cast<CXXRecordDecl>(Friend));
546 return MatchesFriend(S, EC, cast<FunctionDecl>(Friend));
550 const EffectiveContext &EC,
559 switch (MatchesFriend(S, EC, Friend)) {
582 const EffectiveContext &EC;
590 ProtectedFriendContext(Sema &S, const EffectiveContext &EC,
593 : S(S), EC(EC), NamingClass(NamingClass),
603 switch (GetFriendKind(S, EC, CurPath[I])) {
669 /// Search for a class P that EC is a friend of, under the constraint
688 static AccessResult GetProtectedFriendKind(Sema &S, const EffectiveContext &EC,
694 ProtectedFriendContext PRC(S, EC, InstanceContext, NamingClass);
701 const EffectiveContext &EC,
714 I = EC.Records.begin(), E = EC.Records.end(); I != E; ++I) {
715 // All the declarations in EC have been canonicalized, so pointer
724 if (EC.isDependent() && MightInstantiateTo(ECRecord, NamingClass))
780 switch (GetProtectedFriendKind(S, EC, InstanceContext, NamingClass)) {
788 switch (GetFriendKind(S, EC, NamingClass)) {
856 const EffectiveContext &EC,
902 switch (HasAccess(S, EC, NC, PathAccess, Target)) {
947 static bool TryDiagnoseProtectedAccess(Sema &S, const EffectiveContext &EC,
959 I = EC.Records.begin(), E = EC.Records.end(); I != E; ++I) {
996 const EffectiveContext &EC,
1009 switch (HasAccess(S, EC, DeclaringClass, D->getAccess(), Entity)) {
1012 TryDiagnoseProtectedAccess(S, EC, Entity))
1072 CXXBasePath &Path = *FindBestPath(S, EC, Entity, AS_public, Paths);
1086 switch (GetFriendKind(S, EC, I->Class)) {
1122 const EffectiveContext &EC,
1133 DiagnoseAccessPath(S, EC, Entity);
1177 const EffectiveContext &EC,
1193 switch (HasAccess(S, EC, NamingClass, UnprivilegedAccess, Entity)) {
1216 // Determine if the declaration is accessible from EC when named
1222 switch (HasAccess(S, EC, DeclaringClass, FinalAccess, Entity)) {
1242 CXXBasePath *Path = FindBestPath(S, EC, Entity, FinalAccess, Paths);
1254 const EffectiveContext &EC,
1257 assert(EC.isDependent() && "delaying non-dependent access");
1258 DeclContext *DC = EC.getInnerContext();
1272 const EffectiveContext &EC,
1281 switch (IsAccessible(S, EC, Entity)) {
1283 DelayDependentAccess(S, EC, Loc, Entity);
1288 DiagnoseBadAccess(S, Loc, EC, Entity);
1325 EffectiveContext EC(S.CurContext);
1326 switch (CheckEffectiveAccess(S, EC, Loc, Entity)) {
1349 EffectiveContext EC(DC);
1353 if (CheckEffectiveAccess(*this, EC, DD.Loc, Target) == ::AR_inaccessible)
1665 EffectiveContext EC(CurContext);
1666 return ::IsAccessible(*this, EC, Entity) != ::AR_inaccessible;