Lines Matching defs:Inheritance
636 static bool hasVBPtrOffsetField(MSInheritanceModel Inheritance) {
637 return Inheritance == MSIM_Unspecified;
641 MSInheritanceModel Inheritance) {
642 return Inheritance <= MSIM_SinglePolymorphic ||
643 (!IsMemberFunction && Inheritance <= MSIM_MultiplePolymorphic);
649 MSInheritanceModel Inheritance) {
650 return (IsMemberFunction && Inheritance >= MSIM_Multiple);
653 static bool hasVirtualBaseAdjustmentField(MSInheritanceModel Inheritance) {
654 return Inheritance >= MSIM_Virtual;
663 static bool nullFieldOffsetIsZero(MSInheritanceModel Inheritance) {
664 return Inheritance != MSIM_Multiple && Inheritance != MSIM_Single;
677 MSInheritanceModel Inheritance = RD->getMSInheritanceModel();
678 return (!hasVirtualBaseAdjustmentField(Inheritance) &&
679 nullFieldOffsetIsZero(Inheritance));
685 MSInheritanceModel Inheritance = RD->getMSInheritanceModel();
693 Inheritance))
695 if (hasVBPtrOffsetField(Inheritance))
697 if (hasVirtualBaseAdjustmentField(Inheritance))
710 MSInheritanceModel Inheritance = RD->getMSInheritanceModel();
715 if (nullFieldOffsetIsZero(Inheritance))
722 Inheritance))
724 if (hasVBPtrOffsetField(Inheritance))
726 if (hasVirtualBaseAdjustmentField(Inheritance))
747 MSInheritanceModel Inheritance = RD->getMSInheritanceModel();
749 // Single inheritance class member pointer are represented as scalars instead
751 if (hasOnlyOneField(IsMemberFunction, Inheritance))
757 if (hasNonVirtualBaseAdjustmentField(IsMemberFunction, Inheritance))
761 if (hasVBPtrOffsetField(Inheritance)) {
767 if (hasVirtualBaseAdjustmentField(Inheritance))
796 // FIXME PR15713: Support virtual inheritance paths.
865 // If this is a single field member pointer (single inheritance), this is a
868 MSInheritanceModel Inheritance = RD->getMSInheritanceModel();
869 if (hasOnlyOneField(MPT->isMemberFunctionPointer(), Inheritance))
999 // In the unspecified inheritance model, there might not be a vbtable at all,
1051 MSInheritanceModel Inheritance = RD->getMSInheritanceModel();
1062 if (hasVBPtrOffsetField(Inheritance))
1064 if (hasVirtualBaseAdjustmentField(Inheritance))
1098 // both types and the inheritance models of both records.
1282 MSInheritanceModel Inheritance = RD->getMSInheritanceModel();
1294 if (hasNonVirtualBaseAdjustmentField(MPT, Inheritance))
1296 if (hasVBPtrOffsetField(Inheritance))
1298 if (hasVirtualBaseAdjustmentField(Inheritance))