Home | History | Annotate | Download | only in AST

Lines Matching refs:Bases

346   // Traverse our bases.
347 for (const auto &B : RD->bases()) {
383 for (const auto &B : RD->bases()) {
386 // Ignore bases that don't have any virtual member functions.
555 /// VisitedVirtualBases - Visited virtual bases.
654 // We only want to add vcall offsets for virtual bases.
720 // And iterate over all non-virtual bases (ignoring the primary base).
721 for (const auto &B : RD->bases()) {
745 for (const auto &B : RD->bases()) {
774 /// primary bases.
814 /// bases in this vtable.
885 /// PrimaryVirtualBases - All known virtual bases who are a primary base of
936 /// primary bases to the vtable components vector.
943 // secondary vtables and any vtables for virtual bases.
967 /// DeterminePrimaryVirtualBases - Determine the primary virtual bases in this
973 /// LayoutVTablesForVirtualBases - Layout vtables for all virtual bases of the
974 /// given base (excluding any primary bases).
1326 /// overrides any methods in the set of given bases.
1335 /// and { A } as the set of bases.
1338 ItaniumVTableBuilder::PrimaryBasesSetVectorTy &Bases) {
1339 if (Bases.count(MD->getParent()))
1347 if (OverridesIndirectMethodInBases(OverriddenMD, Bases))
1411 // If the final overrider is an override of one of the primary bases,
1420 /// The Bases are expected to be sorted in a base-to-derived order.
1423 BasesSetVectorTy &Bases) {
1428 llvm::make_range(Bases.rbegin(), Bases.rend())) {
1624 // Determine the primary virtual bases.
1716 // We don't want to add this class (or any of its primary bases).
1741 for (const auto &B : RD->bases()) {
1742 // Ignore virtual bases, we'll emit them later.
1748 // Ignore bases that don't have a vtable.
1770 // to emit secondary vtables for other bases of this base.
1818 // Traverse bases, looking for more primary virtual bases.
1819 for (const auto &B : RD->bases()) {
1846 // order, and again excluding primary bases (which share virtual tables with
1848 for (const auto &B : RD->bases()) {
1874 // has virtual bases.
2368 // virtual base and these bases have a reverse order in the complete
2651 BasesSetVectorTy Bases;
2654 // Find the set of least derived bases that define the given method.
2659 Bases.insert(OverriddenMD->getParent());
2669 if (Bases.size() == 0)
2674 [&Bases](const CXXBaseSpecifier *Specifier, CXXBasePath &) {
2675 return Bases.count(Specifier->getType()->getAsCXXRecordDecl());
2912 for (const auto &B : RD->bases()) {
2944 "No primary virtual bases in this ABI");
2965 // sub-bases;
2967 // We keep track of the methods visited in the sub-bases in MethodInfoMap.
3030 // e.g. each method that wasn't seen in any of the visited sub-bases
3031 // but overrides multiple methods of other sub-bases.
3035 // If we got here, MD is a method not seen in any of the sub-bases or
3282 // Recursive case: get all the vbtables from our bases and remove anything
3285 for (const auto &B : RD->bases()) {
3311 // new methods or bases. We append to either the vftable of our primary
3337 // morally virtual bases.
3417 for (const CXXBaseSpecifier &BS : RD->bases()) {
3691 // virtual bases come first so that the layout is the same.