Home | History | Annotate | Download | only in AST

Lines Matching refs:Overrider

56 /// FinalOverriders - Contains the final overrider member functions for all
60 /// OverriderInfo - Information about a final overrider.
62 /// Method - The method decl of the overrider.
65 /// Offset - the base offset of the overrider in the layout class.
130 /// getOverrider - Get the final overrider for the given method declaration in
135 "Did not find overrider!");
188 assert(I->second.size() == 1 && "Final overrider is not unique!");
199 OverriderInfo& Overrider = OverridersMap[std::make_pair(MD, BaseOffset)];
200 assert(!Overrider.Method && "Overrider should not exist yet!");
202 Overrider.Offset = OverriderOffset;
203 Overrider.Method = Method.Method;
417 OverriderInfo Overrider = getOverrider(MD, Base.getBaseOffset());
420 Out << Overrider.Method->getQualifiedNameAsString();
421 Out << ", " << ", " << Overrider.Offset.getQuantity() << ')';
424 if (!Overrider.Method->isPure())
425 Offset = ComputeReturnAdjustmentBaseOffset(Context, Overrider.Method, MD);
710 // Get the final overrider.
711 FinalOverriders::OverriderInfo Overrider =
716 Offset = Overrider.Offset - VBaseOffset;
902 /// final overrider.
906 FinalOverriders::OverriderInfo Overrider);
912 /// IsOverriderUsed - Returns whether the overrider will ever be used in this
931 bool IsOverriderUsed(const CXXMethodDecl *Overrider,
1108 // Get the final overrider for this method.
1109 FinalOverriders::OverriderInfo Overrider =
1113 if (MethodInfo.BaseOffsetInLayoutClass == Overrider.Offset) {
1124 ComputeThisAdjustment(MD, MethodInfo.BaseOffsetInLayoutClass, Overrider);
1247 FinalOverriders::OverriderInfo Overrider) {
1249 if (Overrider.Method->isPure())
1255 BaseSubobject OverriderBaseSubobject(Overrider.Method->getParent(),
1256 Overrider.Offset);
1350 VTableBuilder::IsOverriderUsed(const CXXMethodDecl *Overrider,
1355 // offsets, then this overrider will be used.
1363 // If the overrider is the first base in the primary base chain, we know
1364 // that the overrider will be used.
1365 if (Overrider->getParent() == FirstBaseInPrimaryBaseChain)
1407 // If the final overrider is an override of one of the primary bases,
1409 return OverridesIndirectMethodInBases(Overrider, PrimaryBases);
1487 // Get the final overrider.
1488 FinalOverriders::OverriderInfo Overrider =
1521 Overrider);
1524 Overrider.Method->getParent() == MostDerivedClass) {
1528 // the final overrider.
1530 ComputeReturnAdjustmentBaseOffset(Context, Overrider.Method, MD);
1535 AddThunk(Overrider.Method,
1552 // Check if this overrider is going to be used.
1553 const CXXMethodDecl *OverriderMD = Overrider.Method;
1561 // Check if this overrider needs a return adjustment.
1572 AddMethod(Overrider.Method, ReturnAdjustment);