Home | History | Annotate | Download | only in AST

Lines Matching defs: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.
558 /// VisitedVirtualBases - Visited virtual bases.
657 // We only want to add vcall offsets for virtual bases.
722 // And iterate over all non-virtual bases (ignoring the primary base).
723 for (const auto &B : RD->bases()) {
747 for (const auto &B : RD->bases()) {
776 /// primary bases.
816 /// bases in this vtable.
887 /// PrimaryVirtualBases - All known virtual bases who are a primary base of
938 /// primary bases to the vtable components vector.
945 // secondary vtables and any vtables for virtual bases.
969 /// DeterminePrimaryVirtualBases - Determine the primary virtual bases in this
975 /// LayoutVTablesForVirtualBases - Layout vtables for all virtual bases of the
976 /// given base (excluding any primary bases).
1339 /// overrides any methods in the set of given bases.
1348 /// and { A } as the set of bases.
1351 ItaniumVTableBuilder::PrimaryBasesSetVectorTy &Bases) {
1352 if (Bases.count(MD->getParent()))
1360 if (OverridesIndirectMethodInBases(OverriddenMD, Bases))
1424 // If the final overrider is an override of one of the primary bases,
1433 /// The Bases are expected to be sorted in a base-to-derived order.
1436 BasesSetVectorTy &Bases) {
1440 for (int I = Bases.size(), E = 0; I != E; --I) {
1441 const CXXRecordDecl *PrimaryBase = Bases[I - 1];
1643 // Determine the primary virtual bases.
1736 // We don't want to add this class (or any of its primary bases).
1761 for (const auto &B : RD->bases()) {
1762 // Ignore virtual bases, we'll emit them later.
1768 // Ignore bases that don't have a vtable.
1790 // to emit secondary vtables for other bases of this base.
1838 // Traverse bases, looking for more primary virtual bases.
1839 for (const auto &B : RD->bases()) {
1866 // order, and again excluding primary bases (which share virtual tables with
1868 for (const auto &B : RD->bases()) {
1893 // has virtual bases.
2402 // virtual base and these bases have a reverse order in the complete
2627 /// InitialOverriddenDefinitionCollector - Finds the set of least derived bases
2630 BasesSetVectorTy Bases;
2635 Bases.insert(OverriddenMD->getParent());
2643 Bases = (BasesSetVectorTy *)BasesSet;
2644 return Bases->count(Specifier->getType()->getAsCXXRecordDecl());
2654 if (Collector.Bases.size() == 0)
2658 Overrider.Method->getParent()->lookupInBases(BaseInSet, &Collector.Bases,
2811 for (const auto &B : RD->bases()) {
2842 "No primary virtual bases in this ABI");
2863 // sub-bases;
2865 // We keep track of the methods visited in the sub-bases in MethodInfoMap.
2919 // e.g. each method that wasn't seen in any of the visited sub-bases
2920 // but overrides multiple methods of other sub-bases.
2924 // If we got here, MD is a method not seen in any of the sub-bases or
3176 // Recursive case: get all the vbtables from our bases and remove anything
3179 for (const auto &B : RD->bases()) {
3209 // new methods or bases. We append to either the vftable of our primary
3235 // morally virtual bases.
3420 // virtual bases come first so that the layout is the same.