Lines Matching defs:MemberInfo
74 // MemberInfo is a helper structure that contains information about a record
77 struct MemberInfo {
85 MemberInfo(CharUnits Offset, InfoKind Kind, llvm::Type *Data,
88 MemberInfo(CharUnits Offset, InfoKind Kind, llvm::Type *Data,
92 bool operator <(const MemberInfo& a) const { return Offset < a.Offset; }
97 /// Constructs a MemberInfo instance from an offset and llvm::Type *.
98 static MemberInfo StorageInfo(CharUnits Offset, llvm::Type *Data) {
99 return MemberInfo(Offset, MemberInfo::Field, Data);
216 std::vector<MemberInfo> Members;
394 Members.push_back(MemberInfo(
395 bitsToCharUnits(getFieldBitOffset(*Field)), MemberInfo::Field,
445 Members.push_back(MemberInfo(bitsToCharUnits(StartBitOffset),
446 MemberInfo::Field, nullptr, *Field));
702 MemberInfo(BeginOffset, MemberInfo::Field, nullptr, *Begin));
724 Members.push_back(MemberInfo(CharUnits::Zero(), MemberInfo::Base,
737 Members.push_back(MemberInfo(Layout.getBaseClassOffset(BaseDecl),
738 MemberInfo::Base, getStorageType(BaseDecl), BaseDecl));
862 MemberInfo(CharUnits::Zero(), MemberInfo::VFPtr,
866 MemberInfo(Layout.getVBPtrOffset(), MemberInfo::VBPtr,
907 Members.push_back(MemberInfo(Offset, MemberInfo::VBase, nullptr,
915 Members.push_back(MemberInfo(Offset, MemberInfo::VBase,
932 for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
935 if (Member->Kind == MemberInfo::Field) {
939 } else if (Member->Kind == MemberInfo::Base ||
940 Member->Kind == MemberInfo::VBase) {
944 if (Member->Kind == MemberInfo::Base)
975 for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
1005 for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
1029 for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
1034 if (Member->Kind == MemberInfo::Field) {
1040 } else if (Member->Kind == MemberInfo::Base)
1042 else if (Member->Kind == MemberInfo::VBase)