Lines Matching defs:Entity
160 AccessTarget(const AccessedEntity &Entity)
161 : AccessedEntity(Entity) {
1281 AccessTarget &Entity) {
1282 const CXXRecordDecl *NamingClass = Entity.getNamingClass();
1283 const CXXRecordDecl *DeclaringClass = Entity.getDeclaringClass();
1284 NamedDecl *D = (Entity.isMemberAccess() ? Entity.getTargetDecl() : nullptr);
1286 S.Diag(Loc, Entity.getDiag())
1287 << (Entity.getAccess() == AS_protected)
1291 DiagnoseAccessPath(S, EC, Entity);
1316 AccessTarget &Entity) {
1318 dyn_cast<UsingShadowDecl>(Entity.getTargetDecl()))
1320 const NamedDecl *OrigDecl = Entity.getTargetDecl()->getUnderlyingDecl();
1321 if (Entity.getTargetDecl()->getAccess() == AS_private &&
1337 AccessTarget &Entity) {
1339 const CXXRecordDecl *NamingClass = Entity.getEffectiveNamingClass();
1341 AccessSpecifier UnprivilegedAccess = Entity.getAccess();
1349 switch (HasAccess(S, EC, NamingClass, UnprivilegedAccess, Entity)) {
1365 AccessTarget::SavedInstanceContext _ = Entity.saveInstanceContext();
1371 if (Entity.isMemberAccess()) {
1374 NamedDecl *Target = Entity.getTargetDecl();
1375 const CXXRecordDecl *DeclaringClass = Entity.getDeclaringClass();
1378 switch (HasAccess(S, EC, DeclaringClass, FinalAccess, Entity)) {
1386 Entity.suppressInstanceContext();
1398 assert(Entity.getDeclaringClass() != NamingClass);
1402 CXXBasePath *Path = FindBestPath(S, EC, Entity, FinalAccess, Paths);
1416 const AccessTarget &Entity) {
1422 Entity.isMemberAccess(),
1423 Entity.getAccess(),
1424 Entity.getTargetDecl(),
1425 Entity.getNamingClass(),
1426 Entity.getBaseObjectType(),
1427 Entity.getDiag());
1434 AccessTarget &Entity) {
1435 assert(Entity.getAccess() != AS_public && "called for public access!");
1437 switch (IsAccessible(S, EC, Entity)) {
1439 DelayDependentAccess(S, EC, Loc, Entity);
1444 IsMicrosoftUsingDeclarationAccessBug(S, Loc, Entity))
1446 if (!Entity.isQuiet())
1447 DiagnoseBadAccess(S, Loc, EC, Entity);
1459 AccessTarget &Entity) {
1461 if (Entity.getAccess() == AS_public)
1495 S.DelayedDiagnostics.add(DelayedDiagnostic::makeAccess(Loc, Entity));
1501 switch (CheckEffectiveAccess(S, EC, Loc, Entity)) {
1557 AccessTarget Entity(Context,
1562 Entity.setDiag(DD.getDiagnostic());
1563 CheckAccess(*this, Loc, Entity);
1565 AccessTarget Entity(Context,
1570 Entity.setDiag(DD.getDiagnostic());
1571 CheckAccess(*this, Loc, Entity);
1582 AccessTarget Entity(Context, AccessTarget::Member, E->getNamingClass(),
1584 Entity.setDiag(diag::err_access) << E->getSourceRange();
1586 return CheckAccess(*this, E->getNameLoc(), Entity);
1599 AccessTarget Entity(Context, AccessTarget::Member, E->getNamingClass(),
1601 Entity.setDiag(diag::err_access) << E->getSourceRange();
1603 return CheckAccess(*this, E->getMemberLoc(), Entity);
1615 AccessTarget Entity(Context, AccessTarget::Member, NamingClass, Found,
1619 Entity.setDiag(Diag);
1621 switch (CheckAccess(*this, Loc, Entity)) {
1645 AccessTarget Entity(Context, AccessTarget::Member, NamingClass,
1648 Entity.setDiag(PDiag); // TODO: avoid copy
1650 return CheckAccess(*this, Loc, Entity);
1656 const InitializedEntity &Entity,
1662 switch (Entity.getKind()) {
1672 PD << Entity.isInheritedVirtualBase()
1673 << Entity.getBaseSpecifier()->getType()
1679 const FieldDecl *Field = cast<FieldDecl>(Entity.getDecl());
1687 StringRef VarName = Entity.getCapturedVarName();
1689 PD << VarName << Entity.getType()
1696 return CheckConstructorAccess(UseLoc, Constructor, Found, Entity, PD);
1702 const InitializedEntity &Entity,
1718 if ((Entity.getKind() == InitializedEntity::EK_Base ||
1719 Entity.getKind() == InitializedEntity::EK_Delegating) &&
1720 !Entity.getParent()) {
1750 AccessTarget Entity(Context, AccessTarget::Member, NamingClass, Found,
1753 Entity.setDiag(diag::err_access)
1756 return CheckAccess(*this, OpLoc, Entity);
1767 AccessTarget Entity(Context, AccessTarget::Member, NamingClass,
1770 return CheckAccess(*this, UseLoc, Entity);
1781 AccessTarget Entity(Context, AccessTarget::Member, DecomposedClass, Field,
1783 Entity.setDiag(diag::err_decomp_decl_inaccessible_field);
1785 return CheckAccess(*this, UseLoc, Entity);
1798 AccessTarget Entity(Context, AccessTarget::Member, NamingClass, Found,
1800 Entity.setDiag(diag::err_access) << ObjectExpr->getSourceRange() << Range;
1802 return CheckAccess(*this, OpLoc, Entity);
1868 AccessTarget Entity(Context, AccessTarget::Member, NamingClass, Found,
1870 Entity.setDiag(diag::err_access)
1873 return CheckAccess(*this, Ovl->getNameLoc(), Entity);
1893 AccessTarget Entity(Context, AccessTarget::Base, BaseD, DerivedD,
1896 Entity.setDiag(DiagID) << Derived << Base;
1900 AccessLoc, Entity)) {
1907 return CheckAccess(*this, AccessLoc, Entity);
1917 AccessTarget Entity(Context, AccessedEntity::Member,
1920 Entity.setDiag(diag::err_access);
1921 CheckAccess(*this, R.getNameLoc(), Entity);
1936 AccessTarget Entity(Context, AccessedEntity::Member, NamingClass,
1939 return ::IsAccessible(*this, EC, Entity) != ::AR_inaccessible;