Lines Matching defs:R
21 llvm::Error decodeRecord(const Record &R, llvm::SmallVectorImpl<char> &Field,
27 llvm::Error decodeRecord(const Record &R, SymbolID &Field,
29 if (R[0] != BitCodeConstants::USRHashSize)
35 for (int I = 0, E = R[0]; I < E; ++I)
36 Field[I] = R[I + 1];
40 llvm::Error decodeRecord(const Record &R, bool &Field, llvm::StringRef Blob) {
41 Field = R[0] != 0;
45 llvm::Error decodeRecord(const Record &R, int &Field, llvm::StringRef Blob) {
46 if (R[0] > INT_MAX)
49 Field = (int)R[0];
53 llvm::Error decodeRecord(const Record &R, AccessSpecifier &Field,
55 switch (R[0]) {
60 Field = (AccessSpecifier)R[0];
68 llvm::Error decodeRecord(const Record &R, TagTypeKind &Field,
70 switch (static_cast<TagTypeKind>(R[0])) {
76 Field = static_cast<TagTypeKind>(R[0]);
83 llvm::Error decodeRecord(const Record &R, std::optional<Location> &Field,
85 if (R[0] > INT_MAX)
88 Field.emplace((int)R[0], Blob, (bool)R[1]);
92 llvm::Error decodeRecord(const Record &R, InfoType &Field,
94 switch (auto IT = static_cast<InfoType>(R[0])) {
108 llvm::Error decodeRecord(const Record &R, FieldId &Field,
110 switch (auto F = static_cast<FieldId>(R[0])) {
125 llvm::Error decodeRecord(const Record &R,
132 llvm::Error decodeRecord(const Record &R,
135 if (R[0] > INT_MAX)
138 Field.emplace_back((int)R[0], Blob, (bool)R[1]);
142 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
144 if (ID == VERSION && R[0] == VersionNo)
150 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
154 return decodeRecord(R, I->USR, Blob);
156 return decodeRecord(R, I->Name, Blob);
158 return decodeRecord(R, I->Path, Blob);
165 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
169 return decodeRecord(R, I->USR, Blob);
171 return decodeRecord(R, I->Name, Blob);
173 return decodeRecord(R, I->Path, Blob);
175 return decodeRecord(R, I->DefLoc, Blob);
177 return decodeRecord(R, I->Loc, Blob);
179 return decodeRecord(R, I->TagType, Blob);
181 return decodeRecord(R, I->IsTypeDef, Blob);
188 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
192 return decodeRecord(R, I->USR, Blob);
194 return decodeRecord(R, I->Name, Blob);
196 return decodeRecord(R, I->Path, Blob);
198 return decodeRecord(R, I->TagType, Blob);
200 return decodeRecord(R, I->IsVirtual, Blob);
202 return decodeRecord(R, I->Access, Blob);
204 return decodeRecord(R, I->IsParent, Blob);
211 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
215 return decodeRecord(R, I->USR, Blob);
217 return decodeRecord(R, I->Name, Blob);
219 return decodeRecord(R, I->DefLoc, Blob);
221 return decodeRecord(R, I->Loc, Blob);
223 return decodeRecord(R, I->Scoped, Blob);
230 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
234 return decodeRecord(R, I->USR, Blob);
236 return decodeRecord(R, I->Name, Blob);
238 return decodeRecord(R, I->DefLoc, Blob);
240 return decodeRecord(R, I->IsUsing, Blob);
247 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
251 return decodeRecord(R, I->Name, Blob);
253 return decodeRecord(R, I->Value, Blob);
255 return decodeRecord(R, I->ValueExpr, Blob);
262 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
266 return decodeRecord(R, I->USR, Blob);
268 return decodeRecord(R, I->Name, Blob);
270 return decodeRecord(R, I->DefLoc, Blob);
272 return decodeRecord(R, I->Loc, Blob);
274 return decodeRecord(R, I->Access, Blob);
276 return decodeRecord(R, I->IsMethod, Blob);
283 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
288 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
292 return decodeRecord(R, I->Name, Blob);
294 return decodeRecord(R, I->DefaultValue, Blob);
301 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
305 return decodeRecord(R, I->Name, Blob);
307 return decodeRecord(R, I->Access, Blob);
314 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
318 return decodeRecord(R, I->Kind, Blob);
320 return decodeRecord(R, I->Text, Blob);
322 return decodeRecord(R, I->Name, Blob);
324 return decodeRecord(R, I->Direction, Blob);
326 return decodeRecord(R, I->ParamName, Blob);
328 return decodeRecord(R, I->CloseName, Blob);
330 return decodeRecord(R, I->AttrKeys, Blob);
332 return decodeRecord(R, I->AttrValues, Blob);
334 return decodeRecord(R, I->Args, Blob);
336 return decodeRecord(R, I->SelfClosing, Blob);
338 return decodeRecord(R, I->Explicit, Blob);
345 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
349 return decodeRecord(R, I->USR, Blob);
351 return decodeRecord(R, I->Name, Blob);
353 return decodeRecord(R, I->QualName, Blob);
355 return decodeRecord(R, I->RefType, Blob);
357 return decodeRecord(R, I->Path, Blob);
359 return decodeRecord(R, F, Blob);
366 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
373 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
376 return decodeRecord(R, I->SpecializationOf, Blob);
381 llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
384 return decodeRecord(R, I->Contents, Blob);
471 template <typename T> llvm::Error addReference(T I, Reference &&R, FieldId F) {
476 template <> llvm::Error addReference(TypeInfo *I, Reference &&R, FieldId F) {
479 I->Type = std::move(R);
488 llvm::Error addReference(FieldTypeInfo *I, Reference &&R, FieldId F) {
491 I->Type = std::move(R);
500 llvm::Error addReference(MemberTypeInfo *I, Reference &&R, FieldId F) {
503 I->Type = std::move(R);
511 template <> llvm::Error addReference(EnumInfo *I, Reference &&R, FieldId F) {
514 I->Namespace.emplace_back(std::move(R));
522 template <> llvm::Error addReference(TypedefInfo *I, Reference &&R, FieldId F) {
525 I->Namespace.emplace_back(std::move(R));
534 llvm::Error addReference(NamespaceInfo *I, Reference &&R, FieldId F) {
537 I->Namespace.emplace_back(std::move(R));
540 I->Children.Namespaces.emplace_back(std::move(R));
543 I->Children.Records.emplace_back(std::move(R));
552 llvm::Error addReference(FunctionInfo *I, Reference &&R, FieldId F) {
555 I->Namespace.emplace_back(std::move(R));
558 I->Parent = std::move(R);
566 template <> llvm::Error addReference(RecordInfo *I, Reference &&R, FieldId F) {
569 I->Namespace.emplace_back(std::move(R));
572 I->Parents.emplace_back(std::move(R));
575 I->VirtualParents.emplace_back(std::move(R));
578 I->Children.Records.emplace_back(std::move(R));
587 void addChild(T I, ChildInfoType &&R) {
593 template <> void addChild(NamespaceInfo *I, FunctionInfo &&R) {
594 I->Children.Functions.emplace_back(std::move(R));
596 template <> void addChild(NamespaceInfo *I, EnumInfo &&R) {
597 I->Children.Enums.emplace_back(std::move(R));
599 template <> void addChild(NamespaceInfo *I, TypedefInfo &&R) {
600 I->Children.Typedefs.emplace_back(std::move(R));
604 template <> void addChild(RecordInfo *I, FunctionInfo &&R) {
605 I->Children.Functions.emplace_back(std::move(R));
607 template <> void addChild(RecordInfo *I, EnumInfo &&R) {
608 I->Children.Enums.emplace_back(std::move(R));
610 template <> void addChild(RecordInfo *I, TypedefInfo &&R) {
611 I->Children.Typedefs.emplace_back(std::move(R));
615 template <> void addChild(EnumInfo *I, EnumValueInfo &&R) {
616 I->Members.emplace_back(std::move(R));
618 template <> void addChild(RecordInfo *I, BaseRecordInfo &&R) {
619 I->Bases.emplace_back(std::move(R));
621 template <> void addChild(BaseRecordInfo *I, FunctionInfo &&R) {
622 I->Children.Functions.emplace_back(std::move(R));
667 Record R;
669 llvm::Expected<unsigned> MaybeRecID = Stream.readRecord(ID, R, &Blob);
672 return parseRecord(R, MaybeRecID.get(), Blob, I);
677 Record R;
679 llvm::Expected<unsigned> MaybeRecID = Stream.readRecord(ID, R, &Blob);
682 return parseRecord(R, MaybeRecID.get(), Blob, I, CurrentReferenceField);
753 Reference R;
754 if (auto Err = readBlock(ID, &R))
756 if (auto Err = addReference(I, std::move(R), CurrentReferenceField))