Home | History | Annotate | Download | only in AST

Lines Matching refs:MD

132   OverriderInfo getOverrider(const CXXMethodDecl *MD, 
134 assert(OverridersMap.count(std::make_pair(MD, BaseOffset)) &&
137 return OverridersMap.lookup(std::make_pair(MD, BaseOffset));
175 const CXXMethodDecl *MD = I->first;
181 assert(SubobjectOffsets.count(std::make_pair(MD->getParent(),
185 CharUnits BaseOffset = SubobjectOffsets[std::make_pair(MD->getParent(),
199 OverriderInfo& Overrider = OverridersMap[std::make_pair(MD, BaseOffset)];
412 const CXXMethodDecl *MD = *I;
414 if (!MD->isVirtual())
417 OverriderInfo Overrider = getOverrider(MD, Base.getBaseOffset());
419 Out << " " << MD->getQualifiedNameAsString() << " - (";
425 Offset = ComputeReturnAdjustmentBaseOffset(Context, Overrider.Method, MD);
457 bool AddVCallOffset(const CXXMethodDecl *MD, CharUnits OffsetOffset);
461 CharUnits getVCallOffsetOffset(const CXXMethodDecl *MD);
510 bool VCallOffsetMap::AddVCallOffset(const CXXMethodDecl *MD,
514 if (MethodsCanShareVCallOffset(Offsets[I].first, MD))
519 Offsets.push_back(MethodAndOffsetPairTy(MD, OffsetOffset));
523 CharUnits VCallOffsetMap::getVCallOffsetOffset(const CXXMethodDecl *MD) {
526 if (MethodsCanShareVCallOffset(Offsets[I].first, MD))
695 const CXXMethodDecl *MD = *I;
697 if (!MD->isVirtual())
704 if (!VCallOffsets.AddVCallOffset(MD, OffsetOffset))
712 Overriders->getOverrider(MD, Base.getBaseOffset());
879 void AddThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk);
904 ComputeThisAdjustment(const CXXMethodDecl *MD,
910 void AddMethod(const CXXMethodDecl *MD, ReturnAdjustment ReturnAdjustment);
1061 void VTableBuilder::AddThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk) {
1065 SmallVector<ThunkInfo, 1> &ThunksVector = Thunks[MD];
1080 ComputeAllOverriddenMethods(const CXXMethodDecl *MD,
1082 assert(MD->isVirtual() && "Method is not virtual!");
1084 for (CXXMethodDecl::method_iterator I = MD->begin_overridden_methods(),
1085 E = MD->end_overridden_methods(); I != E; ++I) {
1099 const CXXMethodDecl *MD = I->first;
1110 Overriders.getOverrider(MD, MethodInfo.BaseOffset);
1124 ComputeThisAdjustment(MD, MethodInfo.BaseOffsetInLayoutClass, Overrider);
1132 if (isa<CXXDestructorDecl>(MD)) {
1150 const CXXMethodDecl *MD;
1156 MD = Component.getFunctionDecl();
1159 MD = Component.getDestructorDecl();
1168 if (MD->getParent() == MostDerivedClass)
1169 AddThunk(MD, Thunk);
1245 VTableBuilder::ComputeThisAdjustment(const CXXMethodDecl *MD,
1252 BaseSubobject OverriddenBaseSubobject(MD->getParent(),
1285 VCallOffsets.getVCallOffsetOffset(MD).getQuantity();
1295 VTableBuilder::AddMethod(const CXXMethodDecl *MD,
1297 if (const CXXDestructorDecl *DD = dyn_cast<CXXDestructorDecl>(MD)) {
1316 Components.push_back(VTableComponent::MakeFunction(MD));
1332 OverridesIndirectMethodInBases(const CXXMethodDecl *MD,
1334 if (Bases.count(MD->getParent()))
1337 for (CXXMethodDecl::method_iterator I = MD->begin_overridden_methods(),
1338 E = MD->end_overridden_methods(); I != E; ++I) {
1415 FindNearestOverriddenMethod(const CXXMethodDecl *MD,
1418 ComputeAllOverriddenMethods(MD, OverriddenMethods);
1482 const CXXMethodDecl *MD = *I;
1484 if (!MD->isVirtual())
1489 Overriders.getOverrider(MD, Base.getBaseOffset());
1495 FindNearestOverriddenMethod(MD, PrimaryBases)) {
1496 if (ComputeReturnAdjustmentBaseOffset(Context, MD,
1507 assert(!MethodInfoMap.count(MD) &&
1510 MethodInfoMap.insert(std::make_pair(MD, MethodInfo));
1517 if (!isBuildingConstructorVTable() && OverriddenMD != MD) {
1526 // There's no return adjustment from OverriddenMD and MD,
1527 // but that doesn't mean there isn't one between MD and
1530 ComputeReturnAdjustmentBaseOffset(Context, Overrider.Method, MD);
1548 assert(!MethodInfoMap.count(MD) &&
1550 MethodInfoMap.insert(std::make_pair(MD, MethodInfo));
1566 ComputeReturnAdjustmentBaseOffset(Context, OverriderMD, MD);
1899 const CXXMethodDecl *MD = Component.getFunctionDecl();
1903 MD);
1905 if (MD->isPure())
1908 if (MD->isDeleted())
1981 const CXXMethodDecl *MD = Component.getUnusedFunctionDecl();
1985 MD);
1987 if (MD->isPure())
2066 const CXXMethodDecl *MD = I->first;
2069 MD);
2071 MethodNamesAndDecls.insert(std::make_pair(MethodName, MD));
2078 const CXXMethodDecl *MD = I->second;
2080 ThunkInfoVectorTy ThunksVector = Thunks[MD];
2128 const CXXMethodDecl *MD = *i;
2131 if (!MD->isVirtual())
2136 MD);
2138 if (const CXXDestructorDecl *DD = dyn_cast<CXXDestructorDecl>(MD)) {
2150 IndicesMap[VTables.getMethodVTableIndex(MD)] = MethodName;
2253 const CXXMethodDecl *MD = *i;
2256 if (!MD->isVirtual())
2261 FindNearestOverriddenMethod(MD, PrimaryBases)) {
2264 if (ComputeReturnAdjustmentBaseOffset(Context, MD,
2268 if (const CXXDestructorDecl *DD = dyn_cast<CXXDestructorDecl>(MD)) {
2284 MethodVTableIndices[MD] = getMethodVTableIndex(OverriddenMD);
2292 if (const CXXDestructorDecl *DD = dyn_cast<CXXDestructorDecl>(MD)) {
2293 if (MD->isImplicit()) {
2312 MethodVTableIndices[MD] = CurrentIndex++;