Home | History | Annotate | Download | only in Sema

Lines Matching defs:Base

163     : AccessedEntity(Context, Base, BaseClass, DerivedClass, Access) {
279 assert(T->isDependentType() && "non-dependent base wasn't a record?");
587 /// The path down to the current base class.
627 // Recurse into the base classes.
632 // base will not have any access in classes derived from Cur.
646 assert(T->isDependentType() && "non-dependent base wasn't a record?");
680 /// forbidden base class's members by subclassing it elsewhere.
683 /// accessible in some base class would no longer let you change
684 /// the question solely to whether the base class is accessible,
802 /// C++0x [class.access.base]p5:
811 /// [M4] there exists a base class B of N that is accessible at R, and
814 /// C++0x [class.access.base]p4:
815 /// A base class B of N is accessible at R, if
822 /// [B4] there exists a class S such that B is a base class of S accessible
823 /// at R and S is a base class of N accessible at R.
829 /// treated as a notional base of its declaring class with inheritance
834 /// B_1 = N, B_n = B, and for all i, B_{i+1} is a direct base class of
836 /// closest accessible base in the path:
837 /// Access(a, b) = (* access on the base specifier from a to b *)
850 /// B is an accessible base of N at R iff ACAB(1) = public.
860 // Derive the paths to the desired base.
862 const CXXRecordDecl *Base = Target.getDeclaringClass();
865 bool isDerived = Derived->isDerivedFrom(const_cast<CXXRecordDecl*>(Base),
867 assert(isDerived && "derived class not actually derived from base");
889 // If the declaration is a private member of a base class, there
899 AccessSpecifier BaseAccess = I->Base->getAccessSpecifier();
993 /// Diagnose the path which caused the given declaration or base class
1007 // indicating a non-public member of a private base class.
1078 const CXXBaseSpecifier *BS = I->Base;
1093 // Check whether this base specifier is the tighest point
1211 // We lower member accesses to base accesses by pretending that the
1212 // member is a base class of its declaring class.
1388 AccessTarget::Base,
1590 /// \param IsBaseToDerived whether this is a base-to-derived conversion (true)
1591 /// or a derived-to-base conversion (false)
1598 QualType Base,
1611 BaseD = cast<CXXRecordDecl>(Base->getAs<RecordType>()->getDecl());
1614 AccessTarget Entity(Context, AccessTarget::Base, BaseD, DerivedD,
1617 Entity.setDiag(DiagID) << Derived << Base;