Lines Matching defs:D

43                         const Descriptor *D) {
47 for (unsigned I = 0, NE = D->getNumElems(); I < NE; ++I) {
53 static void dtorArrayTy(Block *, std::byte *Ptr, const Descriptor *D) {
59 for (unsigned I = 0, NE = D->getNumElems(); I < NE; ++I) {
66 const Descriptor *D) {
77 for (unsigned I = 0, NE = D->getNumElems(); I < NE; ++I) {
85 bool IsMutable, bool IsActive, const Descriptor *D) {
86 const unsigned NumElems = D->getNumElems();
88 D->ElemDesc->getAllocSize() + sizeof(InlineDescriptor);
95 auto *SD = D->ElemDesc;
102 Desc->IsConst = IsConst || D->IsConst;
103 Desc->IsFieldMutable = IsMutable || D->IsMutable;
104 if (auto Fn = D->ElemDesc->CtorFn)
106 D->ElemDesc);
110 static void dtorArrayDesc(Block *B, std::byte *Ptr, const Descriptor *D) {
111 const unsigned NumElems = D->getNumElems();
113 D->ElemDesc->getAllocSize() + sizeof(InlineDescriptor);
120 if (auto Fn = D->ElemDesc->DtorFn)
121 Fn(B, ElemLoc, D->ElemDesc);
126 const Descriptor *D) {
127 const unsigned NumElems = D->getNumElems();
129 D->ElemDesc->getAllocSize() + sizeof(InlineDescriptor);
142 if (auto Fn = D->ElemDesc->MoveFn)
143 Fn(B, SrcElemLoc, DstElemLoc, D->ElemDesc);
148 bool IsActive, bool IsUnion, const Descriptor *D,
152 Desc->Desc = D;
153 Desc->IsInitialized = D->IsArray;
156 Desc->IsConst = IsConst || D->IsConst;
157 Desc->IsFieldMutable = IsMutable || D->IsMutable;
159 if (auto Fn = D->CtorFn)
161 Desc->IsActive, D);
165 bool IsActive, const Descriptor *D, unsigned FieldOffset,
167 assert(D);
168 assert(D->ElemRecord);
170 bool IsUnion = D->ElemRecord->isUnion();
173 Desc->Desc = D;
174 Desc->IsInitialized = D->IsArray;
178 Desc->IsConst = IsConst || D->IsConst;
179 Desc->IsFieldMutable = IsMutable || D->IsMutable;
181 for (const auto &V : D->ElemRecord->bases())
184 for (const auto &F : D->ElemRecord->fields())
190 bool IsActive, const Descriptor *D) {
191 for (const auto &V : D->ElemRecord->bases())
193 for (const auto &F : D->ElemRecord->fields())
194 initField(B, Ptr, IsConst, IsMutable, IsActive, D->ElemRecord->isUnion(), F.Desc, F.Offset);
195 for (const auto &V : D->ElemRecord->virtual_bases())
199 static void destroyField(Block *B, std::byte *Ptr, const Descriptor *D,
201 if (auto Fn = D->DtorFn)
202 Fn(B, Ptr + FieldOffset, D);
205 static void destroyBase(Block *B, std::byte *Ptr, const Descriptor *D,
207 assert(D);
208 assert(D->ElemRecord);
210 for (const auto &V : D->ElemRecord->bases())
212 for (const auto &F : D->ElemRecord->fields())
216 static void dtorRecord(Block *B, std::byte *Ptr, const Descriptor *D) {
217 for (const auto &F : D->ElemRecord->bases())
219 for (const auto &F : D->ElemRecord->fields())
221 for (const auto &F : D->ElemRecord->virtual_bases())
226 const Descriptor *D) {
227 for (const auto &F : D->ElemRecord->fields()) {
286 Descriptor::Descriptor(const DeclTy &D, PrimType Type, MetadataSize MD,
288 : Source(D), ElemSize(primSize(Type)), Size(ElemSize),
298 Descriptor::Descriptor(const DeclTy &D, PrimType Type, MetadataSize MD,
301 : Source(D), ElemSize(primSize(Type)), Size(ElemSize * NumElems),
312 Descriptor::Descriptor(const DeclTy &D, PrimType Type, MetadataSize MD,
314 : Source(D), ElemSize(primSize(Type)), Size(UnknownSizeMark),
324 Descriptor::Descriptor(const DeclTy &D, const Descriptor *Elem, MetadataSize MD,
327 : Source(D), ElemSize(Elem->getAllocSize() + sizeof(InlineDescriptor)),
337 Descriptor::Descriptor(const DeclTy &D, const Descriptor *Elem, MetadataSize MD,
339 : Source(D), ElemSize(Elem->getAllocSize() + sizeof(InlineDescriptor)),
348 Descriptor::Descriptor(const DeclTy &D, const Record *R, MetadataSize MD,
350 : Source(D), ElemSize(std::max<size_t>(alignof(void *), R->getFullSize())),
359 Descriptor::Descriptor(const DeclTy &D)
360 : Source(D), ElemSize(1), Size(1), MDSize(0), AllocSize(MDSize),
369 if (const auto *D = asValueDecl())
370 return D->getType();
389 if (auto *D = Source.dyn_cast<const Decl *>())
390 return D->getLocation();