Lines Matching refs:Base

112   void ComputeBaseOffsets(BaseSubobject Base, bool IsVirtual,
122 void dump(raw_ostream &Out, BaseSubobject Base,
225 if (Element.Base->isVirtual()) {
229 QualType VBaseType = Element.Base->getType();
242 const RecordType *BaseType = Element.Base->getType()->getAs<RecordType>();
243 const CXXRecordDecl *Base = cast<CXXRecordDecl>(BaseType->getDecl());
245 NonVirtualOffset += Layout.getBaseClassOffset(Base);
304 // const T *Base::foo();
322 FinalOverriders::ComputeBaseOffsets(BaseSubobject Base, bool IsVirtual,
327 const CXXRecordDecl *RD = Base.getBase();
339 SubobjectOffsets[std::make_pair(RD, SubobjectNumber)] = Base.getBaseOffset();
366 BaseOffset = Base.getBaseOffset() + Offset;
377 void FinalOverriders::dump(raw_ostream &Out, BaseSubobject Base,
379 const CXXRecordDecl *RD = Base.getBase();
400 BaseOffset = Layout.getBaseClassOffset(BaseDecl) + Base.getBaseOffset();
407 Out << Base.getBaseOffset().getQuantity() << ")\n";
417 OverriderInfo Overrider = getOverrider(MD, Base.getBaseOffset());
573 void AddVCallAndVBaseOffsets(BaseSubobject Base, bool BaseIsVirtual,
577 void AddVCallOffsets(BaseSubobject Base, CharUnits VBaseOffset);
580 void AddVBaseOffsets(const CXXRecordDecl *Base,
591 BaseSubobject Base, bool BaseIsVirtual,
597 AddVCallAndVBaseOffsets(Base, BaseIsVirtual, OffsetInLayoutClass);
612 VCallAndVBaseOffsetBuilder::AddVCallAndVBaseOffsets(BaseSubobject Base,
615 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Base.getBase());
645 PrimaryBaseOffset = Base.getBaseOffset();
653 AddVBaseOffsets(Base.getBase(), RealBaseOffset);
657 AddVCallOffsets(Base, RealBaseOffset);
673 void VCallAndVBaseOffsetBuilder::AddVCallOffsets(BaseSubobject Base,
675 const CXXRecordDecl *RD = Base.getBase();
688 AddVCallOffsets(BaseSubobject(PrimaryBase, Base.getBaseOffset()),
712 Overriders->getOverrider(MD, Base.getBaseOffset());
736 CharUnits BaseOffset = Base.getBaseOffset() +
897 BaseOffset ComputeThisAdjustmentBaseOffset(BaseSubobject Base,
939 void AddMethods(BaseSubobject Base, CharUnits BaseOffsetInLayoutClass,
956 void LayoutPrimaryAndSecondaryVTables(BaseSubobject Base,
966 void LayoutSecondaryVTables(BaseSubobject Base, bool BaseIsMorallyVirtual,
1197 VTableBuilder::ComputeThisAdjustmentBaseOffset(BaseSubobject Base,
1199 const CXXRecordDecl *BaseRD = Base.getBase();
1233 if (OffsetToBaseSubobject == Base.getBaseOffset()) {
1359 // We know now that Base (or a direct or indirect base of it) is a primary
1438 VTableBuilder::AddMethods(BaseSubobject Base, CharUnits BaseOffsetInLayoutClass,
1442 const CXXRecordDecl *RD = Base.getBase();
1467 PrimaryBaseOffset = Base.getBaseOffset();
1489 Overriders.getOverrider(MD, Base.getBaseOffset());
1504 MethodInfo MethodInfo(Base.getBaseOffset(), BaseOffsetInLayoutClass,
1545 MethodInfo MethodInfo(Base.getBaseOffset(), BaseOffsetInLayoutClass,
1599 VTableBuilder::LayoutPrimaryAndSecondaryVTables(BaseSubobject Base,
1603 assert(Base.getBase()->isDynamicClass() && "class does not have a vtable!");
1607 Base, BaseIsVirtualInLayoutClass,
1613 VCallOffsetMap &VCallOffsets = VCallOffsetsForVBases[Base.getBase()];
1621 if (Base.getBase() == MostDerivedClass)
1641 AddMethods(Base, OffsetInLayoutClass,
1642 Base.getBase(), OffsetInLayoutClass,
1649 const CXXRecordDecl *RD = Base.getBase();
1678 LayoutSecondaryVTables(Base, BaseIsMorallyVirtual, OffsetInLayoutClass);
1681 void VTableBuilder::LayoutSecondaryVTables(BaseSubobject Base,
1689 const CXXRecordDecl *RD = Base.getBase();
1718 CharUnits BaseOffset = Base.getBaseOffset() + RelativeBaseOffset;
1860 const BaseSubobject& Base = I->first;
1863 AddressPointsByIndex.insert(std::make_pair(Index, Base));
1999 const BaseSubobject &Base =
2002 Out << " -- (" << Base.getBase()->getQualifiedNameAsString();
2003 Out << ", " << Base.getBaseOffset().getQuantity();