Lines Matching refs:BaseDecl
348 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
354 if (SubobjectOffsets.count(std::make_pair(BaseDecl, 0)))
360 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl);
362 LayoutClassLayout.getVBaseClassOffset(BaseDecl);
365 CharUnits Offset = Layout.getBaseClassOffset(BaseDecl);
371 ComputeBaseOffsets(BaseSubobject(BaseDecl, BaseOffset),
384 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
387 if (!BaseDecl->isPolymorphic())
392 if (!VisitedVirtualBases.insert(BaseDecl).second) {
397 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl);
399 BaseOffset = Layout.getBaseClassOffset(BaseDecl) + Base.getBaseOffset();
402 dump(Out, BaseSubobject(BaseDecl, BaseOffset), VisitedVirtualBases);
725 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
726 if (BaseDecl == PrimaryBase)
731 Layout.getBaseClassOffset(BaseDecl);
733 AddVCallOffsets(BaseSubobject(BaseDecl, BaseOffset),
746 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
749 if (B.isVirtual() && VisitedVirtualBases.insert(BaseDecl).second) {
751 LayoutClassLayout.getVBaseClassOffset(BaseDecl) - OffsetInLayoutClass;
754 assert(!VBaseOffsetOffsets.count(BaseDecl) &&
759 std::make_pair(BaseDecl, VBaseOffsetOffset));
766 AddVBaseOffsets(BaseDecl, OffsetInLayoutClass);
1746 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1749 if (!BaseDecl->isDynamicClass())
1758 if (!BaseIsMorallyVirtual && !BaseDecl->getNumVBases())
1763 CharUnits RelativeBaseOffset = Layout.getBaseClassOffset(BaseDecl);
1771 if (BaseDecl == PrimaryBase) {
1772 LayoutSecondaryVTables(BaseSubobject(BaseDecl, BaseOffset),
1779 BaseSubobject(BaseDecl, BaseOffset),
1820 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1825 if (!VBases.insert(BaseDecl).second)
1832 LayoutClassLayout.getVBaseClassOffset(BaseDecl);
1835 OffsetInLayoutClass + Layout.getBaseClassOffset(BaseDecl);
1838 DeterminePrimaryVirtualBases(BaseDecl, BaseOffsetInLayoutClass, VBases);
1849 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1853 if (B.isVirtual() && BaseDecl->isDynamicClass() &&
1854 !PrimaryVirtualBases.count(BaseDecl) &&
1855 VBases.insert(BaseDecl).second) {
1859 MostDerivedClassLayout.getVBaseClassOffset(BaseDecl);
1864 LayoutClassLayout.getVBaseClassOffset(BaseDecl);
1867 BaseSubobject(BaseDecl, BaseOffset),
1875 if (BaseDecl->getNumVBases())
1876 LayoutVTablesForVirtualBases(BaseDecl, VBases);