17#include "llvm/ADT/StringExtras.h"
25 if (
auto *
E = dyn_cast<Expr *>(Detail))
28 auto &SubstitutionDiagnostic =
29 *cast<std::pair<SourceLocation, StringRef> *>(Detail);
30 StringRef Message =
C.backupStr(SubstitutionDiagnostic.second);
31 auto *NewSubstDiag =
new (
C) std::pair<SourceLocation, StringRef>(
32 SubstitutionDiagnostic.first, Message);
39 : NumRecords{Satisfaction.Details.size()},
40 IsSatisfied{Satisfaction.IsSatisfied}, ContainsErrors{
41 Satisfaction.ContainsErrors} {
45 getTrailingObjects<UnsatisfiedConstraintRecord>() + I);
50 : NumRecords{Satisfaction.NumRecords},
51 IsSatisfied{Satisfaction.IsSatisfied},
52 ContainsErrors{Satisfaction.ContainsErrors} {
55 C, *(Satisfaction.
begin() + I),
56 getTrailingObjects<UnsatisfiedConstraintRecord>() + I);
63 totalSizeToAlloc<UnsatisfiedConstraintRecord>(
72 totalSizeToAlloc<UnsatisfiedConstraintRecord>(Satisfaction.
NumRecords);