Lines Matching defs: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);
738 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
739 if (BaseDecl == PrimaryBase)
744 Layout.getBaseClassOffset(BaseDecl);
746 AddVCallOffsets(BaseSubobject(BaseDecl, BaseOffset),
759 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
762 if (B.isVirtual() && VisitedVirtualBases.insert(BaseDecl).second) {
764 LayoutClassLayout.getVBaseClassOffset(BaseDecl) - OffsetInLayoutClass;
767 assert(!VBaseOffsetOffsets.count(BaseDecl) &&
772 std::make_pair(BaseDecl, VBaseOffsetOffset));
779 AddVBaseOffsets(BaseDecl, OffsetInLayoutClass);
1801 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1804 if (!BaseDecl->isDynamicClass())
1813 if (!BaseIsMorallyVirtual && !BaseDecl->getNumVBases())
1818 CharUnits RelativeBaseOffset = Layout.getBaseClassOffset(BaseDecl);
1826 if (BaseDecl == PrimaryBase) {
1827 LayoutSecondaryVTables(BaseSubobject(BaseDecl, BaseOffset),
1834 BaseSubobject(BaseDecl, BaseOffset),
1875 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1880 if (!VBases.insert(BaseDecl).second)
1887 LayoutClassLayout.getVBaseClassOffset(BaseDecl);
1890 OffsetInLayoutClass + Layout.getBaseClassOffset(BaseDecl);
1893 DeterminePrimaryVirtualBases(BaseDecl, BaseOffsetInLayoutClass, VBases);
1904 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
1908 if (B.isVirtual() && BaseDecl->isDynamicClass() &&
1909 !PrimaryVirtualBases.count(BaseDecl) &&
1910 VBases.insert(BaseDecl).second) {
1914 MostDerivedClassLayout.getVBaseClassOffset(BaseDecl);
1919 LayoutClassLayout.getVBaseClassOffset(BaseDecl);
1922 BaseSubobject(BaseDecl, BaseOffset),
1930 if (BaseDecl->getNumVBases())
1931 LayoutVTablesForVirtualBases(BaseDecl, VBases);