Lines Matching refs:BaseDecl

347     const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
353 if (SubobjectOffsets.count(std::make_pair(BaseDecl, 0)))
359 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl);
361 LayoutClassLayout.getVBaseClassOffset(BaseDecl);
364 CharUnits Offset = Layout.getBaseClassOffset(BaseDecl);
370 ComputeBaseOffsets(BaseSubobject(BaseDecl, BaseOffset),
383 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
386 if (!BaseDecl->isPolymorphic())
391 if (!VisitedVirtualBases.insert(BaseDecl).second) {
396 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl);
398 BaseOffset = Layout.getBaseClassOffset(BaseDecl) + Base.getBaseOffset();
401 dump(Out, BaseSubobject(BaseDecl, BaseOffset), VisitedVirtualBases);
732 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
733 if (BaseDecl == PrimaryBase)
738 Layout.getBaseClassOffset(BaseDecl);
740 AddVCallOffsets(BaseSubobject(BaseDecl, BaseOffset),
753 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
756 if (B.isVirtual() && VisitedVirtualBases.insert(BaseDecl).second) {
758 LayoutClassLayout.getVBaseClassOffset(BaseDecl) - OffsetInLayoutClass;
761 assert(!VBaseOffsetOffsets.count(BaseDecl) &&
766 std::make_pair(BaseDecl, VBaseOffsetOffset));
773 AddVBaseOffsets(BaseDecl, OffsetInLayoutClass);
1751 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1754 if (!BaseDecl->isDynamicClass())
1763 if (!BaseIsMorallyVirtual && !BaseDecl->getNumVBases())
1768 CharUnits RelativeBaseOffset = Layout.getBaseClassOffset(BaseDecl);
1776 if (BaseDecl == PrimaryBase) {
1777 LayoutSecondaryVTables(BaseSubobject(BaseDecl, BaseOffset),
1784 BaseSubobject(BaseDecl, BaseOffset),
1825 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1830 if (!VBases.insert(BaseDecl).second)
1837 LayoutClassLayout.getVBaseClassOffset(BaseDecl);
1840 OffsetInLayoutClass + Layout.getBaseClassOffset(BaseDecl);
1843 DeterminePrimaryVirtualBases(BaseDecl, BaseOffsetInLayoutClass, VBases);
1854 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1858 if (B.isVirtual() && BaseDecl->isDynamicClass() &&
1859 !PrimaryVirtualBases.count(BaseDecl) &&
1860 VBases.insert(BaseDecl).second) {
1864 MostDerivedClassLayout.getVBaseClassOffset(BaseDecl);
1869 LayoutClassLayout.getVBaseClassOffset(BaseDecl);
1872 BaseSubobject(BaseDecl, BaseOffset),
1880 if (BaseDecl->getNumVBases())
1881 LayoutVTablesForVirtualBases(BaseDecl, VBases);