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)) {
397 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl);
399 BaseOffset = Layout.getBaseClassOffset(BaseDecl) + Base.getBaseOffset();
402 dump(Out, BaseSubobject(BaseDecl, BaseOffset), VisitedVirtualBases);
727 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
728 if (BaseDecl == PrimaryBase)
733 Layout.getBaseClassOffset(BaseDecl);
735 AddVCallOffsets(BaseSubobject(BaseDecl, BaseOffset),
748 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
751 if (B.isVirtual() && VisitedVirtualBases.insert(BaseDecl)) {
753 LayoutClassLayout.getVBaseClassOffset(BaseDecl) - OffsetInLayoutClass;
756 assert(!VBaseOffsetOffsets.count(BaseDecl) &&
761 std::make_pair(BaseDecl, VBaseOffsetOffset));
768 AddVBaseOffsets(BaseDecl, OffsetInLayoutClass);
1766 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1769 if (!BaseDecl->isDynamicClass())
1778 if (!BaseIsMorallyVirtual && !BaseDecl->getNumVBases())
1783 CharUnits RelativeBaseOffset = Layout.getBaseClassOffset(BaseDecl);
1791 if (BaseDecl == PrimaryBase) {
1792 LayoutSecondaryVTables(BaseSubobject(BaseDecl, BaseOffset),
1799 BaseSubobject(BaseDecl, BaseOffset),
1840 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1845 if (!VBases.insert(BaseDecl))
1852 LayoutClassLayout.getVBaseClassOffset(BaseDecl);
1855 OffsetInLayoutClass + Layout.getBaseClassOffset(BaseDecl);
1858 DeterminePrimaryVirtualBases(BaseDecl, BaseOffsetInLayoutClass, VBases);
1869 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1873 if (B.isVirtual() && BaseDecl->isDynamicClass() &&
1874 !PrimaryVirtualBases.count(BaseDecl) && VBases.insert(BaseDecl)) {
1878 MostDerivedClassLayout.getVBaseClassOffset(BaseDecl);
1883 LayoutClassLayout.getVBaseClassOffset(BaseDecl);
1886 BaseSubobject(BaseDecl, BaseOffset),
1894 if (BaseDecl->getNumVBases())
1895 LayoutVTablesForVirtualBases(BaseDecl, VBases);