Lines Matching defs:MSRTTIClass
3611 struct MSRTTIClass {
3619 MSRTTIClass(const CXXRecordDecl *RD) : RD(RD) {}
3620 uint32_t initialize(const MSRTTIClass *Parent,
3623 MSRTTIClass *getFirstChild() { return this + 1; }
3624 static MSRTTIClass *getNextChild(MSRTTIClass *Child) {
3633 uint32_t MSRTTIClass::initialize(const MSRTTIClass *Parent,
3655 MSRTTIClass *Child = getFirstChild();
3697 llvm::GlobalVariable *getBaseClassDescriptor(const MSRTTIClass &Classes);
3699 getBaseClassArray(SmallVectorImpl<MSRTTIClass> &Classes);
3716 static void serializeClassHierarchy(SmallVectorImpl<MSRTTIClass> &Classes,
3718 Classes.push_back(MSRTTIClass(RD));
3725 detectAmbiguousBases(SmallVectorImpl<MSRTTIClass> &Classes) {
3729 for (MSRTTIClass *Class = &Classes.front(); Class <= &Classes.back();) {
3730 if ((Class->Flags & MSRTTIClass::IsVirtual) &&
3732 Class = MSRTTIClass::getNextChild(Class);
3741 for (MSRTTIClass &Class : Classes)
3743 Class.Flags |= MSRTTIClass::IsAmbiguous;
3758 SmallVector<MSRTTIClass, 8> Classes;
3763 for (const MSRTTIClass &Class : Classes) {
3768 if (Class.Flags & MSRTTIClass::IsAmbiguous)
3802 MSRTTIBuilder::getBaseClassArray(SmallVectorImpl<MSRTTIClass> &Classes) {
3826 for (MSRTTIClass &Class : Classes)
3835 MSRTTIBuilder::getBaseClassDescriptor(const MSRTTIClass &Class) {
4302 SmallVector<MSRTTIClass, 8> Classes;
4306 for (const MSRTTIClass &Class : Classes) {
4309 (MSRTTIClass::IsPrivateOnPath | MSRTTIClass::IsAmbiguous))