Lines Matching refs:Idx

44     unsigned &Idx;
196 const RecordData &Record, unsigned &Idx)
198 RawLocation(RawLocation), Record(Record), Idx(Idx),
352 GetTypeSourceInfo(Record, Idx);
355 DD->DeclInfo = GetTypeSourceInfo(Record, Idx);
371 if (Record[Idx++]) {
387 GlobalDeclID SemaDCIDForTemplateParmDecl = ReadDeclID(Record, Idx);
388 GlobalDeclID LexicalDCIDForTemplateParmDecl = ReadDeclID(Record, Idx);
394 DeclContext *SemaDC = ReadDeclAs<DeclContext>(Record, Idx);
395 DeclContext *LexicalDC = ReadDeclAs<DeclContext>(Record, Idx);
403 D->setInvalidDecl(Record[Idx++]);
404 if (Record[Idx++]) { // hasAttrs
406 Reader.ReadAttributes(F, Attrs, Record, Idx);
411 D->setImplicit(Record[Idx++]);
412 D->Used = Record[Idx++];
413 D->setReferenced(Record[Idx++]);
414 D->setTopLevelDeclInObjCContainer(Record[Idx++]);
415 D->setAccess((AccessSpecifier)Record[Idx++]);
417 D->setModulePrivate(Record[Idx++]);
422 if (unsigned SubmoduleID = readSubmoduleID(Record, Idx)) {
448 ND->setDeclName(Reader.ReadDeclarationName(F, Record, Idx));
453 TD->setLocStart(ReadSourceLocation(Record, Idx));
455 TypeIDForTypeDecl = Reader.getGlobalTypeID(F, Record[Idx++]);
461 TypeSourceInfo *TInfo = GetTypeSourceInfo(Record, Idx);
462 if (Record[Idx++]) { // isModed
463 QualType modedT = Reader.readType(F, Record, Idx);
482 TD->IdentifierNamespace = Record[Idx++];
483 TD->setTagKind((TagDecl::TagKind)Record[Idx++]);
484 TD->setCompleteDefinition(Record[Idx++]);
485 TD->setEmbeddedInDeclarator(Record[Idx++]);
486 TD->setFreeStanding(Record[Idx++]);
487 TD->setCompleteDefinitionRequired(Record[Idx++]);
488 TD->setRBraceLoc(ReadSourceLocation(Record, Idx));
490 if (Record[Idx++]) { // hasExtInfo
492 ReadQualifierInfo(*Info, Record, Idx);
495 TD->NamedDeclOrQualifier = ReadDeclAs<NamedDecl>(Record, Idx);
504 if (TypeSourceInfo *TI = Reader.GetTypeSourceInfo(F, Record, Idx))
507 ED->setIntegerType(Reader.readType(F, Record, Idx));
508 ED->setPromotionType(Reader.readType(F, Record, Idx));
509 ED->setNumPositiveBits(Record[Idx++]);
510 ED->setNumNegativeBits(Record[Idx++]);
511 ED->IsScoped = Record[Idx++];
512 ED->IsScopedUsingClassTag = Record[Idx++];
513 ED->IsFixed = Record[Idx++];
528 if (EnumDecl *InstED = ReadDeclAs<EnumDecl>(Record, Idx)) {
529 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
530 SourceLocation POI = ReadSourceLocation(Record, Idx);
539 RD->setHasFlexibleArrayMember(Record[Idx++]);
540 RD->setAnonymousStructOrUnion(Record[Idx++]);
541 RD->setHasObjectMember(Record[Idx++]);
542 RD->setHasVolatileMember(Record[Idx++]);
548 VD->setType(Reader.readType(F, Record, Idx));
553 if (Record[Idx++])
555 ECD->setInitVal(Reader.ReadAPSInt(Record, Idx));
561 DD->setInnerLocStart(ReadSourceLocation(Record, Idx));
562 if (Record[Idx++]) { // hasExtInfo
565 ReadQualifierInfo(*Info, Record, Idx);
574 ReadDeclarationNameLoc(FD->DNLoc, FD->getDeclName(), Record, Idx);
575 FD->IdentifierNamespace = Record[Idx++];
580 FD->SClass = (StorageClass)Record[Idx++];
581 FD->IsInline = Record[Idx++];
582 FD->IsInlineSpecified = Record[Idx++];
583 FD->IsVirtualAsWritten = Record[Idx++];
584 FD->IsPure = Record[Idx++];
585 FD->HasInheritedPrototype = Record[Idx++];
586 FD->HasWrittenPrototype = Record[Idx++];
587 FD->IsDeleted = Record[Idx++];
588 FD->IsTrivial = Record[Idx++];
589 FD->IsDefaulted = Record[Idx++];
590 FD->IsExplicitlyDefaulted = Record[Idx++];
591 FD->HasImplicitReturnZero = Record[Idx++];
592 FD->IsConstexpr = Record[Idx++];
593 FD->HasSkippedBody = Record[Idx++];
594 FD->IsLateTemplateParsed = Record[Idx++];
595 FD->setCachedLinkage(Linkage(Record[Idx++]));
596 FD->EndRangeLoc = ReadSourceLocation(Record, Idx);
598 switch ((FunctionDecl::TemplatedKind)Record[Idx++]) {
605 Idx));
608 FunctionDecl *InstFD = ReadDeclAs<FunctionDecl>(Record, Idx);
609 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
610 SourceLocation POI = ReadSourceLocation(Record, Idx);
618 Idx);
619 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
623 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx);
628 bool HasTemplateArgumentsAsWritten = Record[Idx++];
630 unsigned NumTemplateArgLocs = Record[Idx++];
634 Reader.ReadTemplateArgumentLoc(F, Record, Idx));
636 LAngleLoc = ReadSourceLocation(Record, Idx);
637 RAngleLoc = ReadSourceLocation(Record, Idx);
640 SourceLocation POI = ReadSourceLocation(Record, Idx);
660 = ReadDeclAs<FunctionTemplateDecl>(Record, Idx);
685 unsigned NumTemplates = Record[Idx++];
687 TemplDecls.addDecl(ReadDeclAs<NamedDecl>(Record, Idx));
691 unsigned NumArgs = Record[Idx++];
693 TemplArgs.addArgument(Reader.ReadTemplateArgumentLoc(F, Record, Idx));
694 TemplArgs.setLAngleLoc(ReadSourceLocation(Record, Idx));
695 TemplArgs.setRAngleLoc(ReadSourceLocation(Record, Idx));
706 unsigned NumParams = Record[Idx++];
710 Params.push_back(ReadDeclAs<ParmVarDecl>(Record, Idx));
716 if (Record[Idx++]) {
721 MD->setSelfDecl(ReadDeclAs<ImplicitParamDecl>(Record, Idx));
722 MD->setCmdDecl(ReadDeclAs<ImplicitParamDecl>(Record, Idx));
724 MD->setInstanceMethod(Record[Idx++]);
725 MD->setVariadic(Record[Idx++]);
726 MD->setPropertyAccessor(Record[Idx++]);
727 MD->setDefined(Record[Idx++]);
728 MD->IsOverriding = Record[Idx++];
729 MD->HasSkippedBody = Record[Idx++];
731 MD->IsRedeclaration = Record[Idx++];
732 MD->HasRedeclaration = Record[Idx++];
735 ReadDeclAs<ObjCMethodDecl>(Record, Idx));
737 MD->setDeclImplementation((ObjCMethodDecl::ImplementationControl)Record[Idx++]);
738 MD->setObjCDeclQualifier((Decl::ObjCDeclQualifier)Record[Idx++]);
739 MD->SetRelatedResultType(Record[Idx++]);
740 MD->setReturnType(Reader.readType(F, Record, Idx));
741 MD->setReturnTypeSourceInfo(GetTypeSourceInfo(Record, Idx));
742 MD->DeclEndLoc = ReadSourceLocation(Record, Idx);
743 unsigned NumParams = Record[Idx++];
747 Params.push_back(ReadDeclAs<ParmVarDecl>(Record, Idx));
749 MD->SelLocsKind = Record[Idx++];
750 unsigned NumStoredSelLocs = Record[Idx++];
754 SelLocs.push_back(ReadSourceLocation(Record, Idx));
761 CD->setAtStartLoc(ReadSourceLocation(Record, Idx));
762 CD->setAtEndRange(ReadSourceRange(Record, Idx));
768 TypeIDForTypeDecl = Reader.getGlobalTypeID(F, Record[Idx++]);
771 if (Record[Idx++]) {
782 Data.SuperClass = ReadDeclAs<ObjCInterfaceDecl>(Record, Idx);
783 Data.SuperClassLoc = ReadSourceLocation(Record, Idx);
785 Data.EndLoc = ReadSourceLocation(Record, Idx);
786 Data.HasDesignatedInitializers = Record[Idx++];
789 unsigned NumProtocols = Record[Idx++];
793 Protocols.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx));
797 ProtoLocs.push_back(ReadSourceLocation(Record, Idx));
802 NumProtocols = Record[Idx++];
806 Protocols.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx));
825 IVD->setAccessControl((ObjCIvarDecl::AccessControl)Record[Idx++]);
828 bool synth = Record[Idx++];
837 if (Record[Idx++]) {
845 unsigned NumProtoRefs = Record[Idx++];
849 ProtoRefs.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx));
853 ProtoLocs.push_back(ReadSourceLocation(Record, Idx));
870 CD->setCategoryNameLoc(ReadSourceLocation(Record, Idx));
871 CD->setIvarLBraceLoc(ReadSourceLocation(Record, Idx));
872 CD->setIvarRBraceLoc(ReadSourceLocation(Record, Idx));
879 CD->ClassInterface = ReadDeclAs<ObjCInterfaceDecl>(Record, Idx);
880 unsigned NumProtoRefs = Record[Idx++];
884 ProtoRefs.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx));
888 ProtoLocs.push_back(ReadSourceLocation(Record, Idx));
895 CAD->setClassInterface(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx));
900 D->setAtLoc(ReadSourceLocation(Record, Idx));
901 D->setLParenLoc(ReadSourceLocation(Record, Idx));
902 D->setType(GetTypeSourceInfo(Record, Idx));
905 (ObjCPropertyDecl::PropertyAttributeKind)Record[Idx++]);
907 (ObjCPropertyDecl::PropertyAttributeKind)Record[Idx++]);
910 (ObjCPropertyDecl::PropertyControl)Record[Idx++]);
911 D->setGetterName(Reader.ReadDeclarationName(F,Record, Idx).getObjCSelector());
912 D->setSetterName(Reader.ReadDeclarationName(F,Record, Idx).getObjCSelector());
913 D->setGetterMethodDecl(ReadDeclAs<ObjCMethodDecl>(Record, Idx));
914 D->setSetterMethodDecl(ReadDeclAs<ObjCMethodDecl>(Record, Idx));
915 D->setPropertyIvarDecl(ReadDeclAs<ObjCIvarDecl>(Record, Idx));
920 D->setClassInterface(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx));
925 D->setIdentifier(Reader.GetIdentifierInfo(F, Record, Idx));
926 D->CategoryNameLoc = ReadSourceLocation(Record, Idx);
931 D->setSuperClass(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx));
932 D->SuperLoc = ReadSourceLocation(Record, Idx);
933 D->setIvarLBraceLoc(ReadSourceLocation(Record, Idx));
934 D->setIvarRBraceLoc(ReadSourceLocation(Record, Idx));
935 D->setHasNonZeroConstructors(Record[Idx++]);
936 D->setHasDestructors(Record[Idx++]);
938 Reader.ReadCXXCtorInitializers(F, Record, Idx);
944 D->setAtLoc(ReadSourceLocation(Record, Idx));
945 D->setPropertyDecl(ReadDeclAs<ObjCPropertyDecl>(Record, Idx));
946 D->PropertyIvarDecl = ReadDeclAs<ObjCIvarDecl>(Record, Idx);
947 D->IvarLoc = ReadSourceLocation(Record, Idx);
954 FD->Mutable = Record[Idx++];
955 if (int BitWidthOrInitializer = Record[Idx++]) {
960 if (FieldDecl *Tmpl = ReadDeclAs<FieldDecl>(Record, Idx))
968 PD->GetterId = Reader.GetIdentifierInfo(F, Record, Idx);
969 PD->SetterId = Reader.GetIdentifierInfo(F, Record, Idx);
975 FD->ChainingSize = Record[Idx++];
980 FD->Chaining[I] = ReadDeclAs<NamedDecl>(Record, Idx);
987 VD->VarDeclBits.SClass = (StorageClass)Record[Idx++];
988 VD->VarDeclBits.TSCSpec = Record[Idx++];
989 VD->VarDeclBits.InitStyle = Record[Idx++];
990 VD->VarDeclBits.ExceptionVar = Record[Idx++];
991 VD->VarDeclBits.NRVOVariable = Record[Idx++];
992 VD->VarDeclBits.CXXForRangeDecl = Record[Idx++];
993 VD->VarDeclBits.ARCPseudoStrong = Record[Idx++];
994 VD->VarDeclBits.IsConstexpr = Record[Idx++];
995 VD->VarDeclBits.IsInitCapture = Record[Idx++];
996 VD->VarDeclBits.PreviousDeclInSameBlockScope = Record[Idx++];
997 Linkage VarLinkage = Linkage(Record[Idx++]);
1005 if (uint64_t Val = Record[Idx++]) {
1017 switch ((VarKind)Record[Idx++]) {
1025 VD->setDescribedVarTemplate(ReadDeclAs<VarTemplateDecl>(Record, Idx));
1028 VarDecl *Tmpl = ReadDeclAs<VarDecl>(Record, Idx);
1029 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
1030 SourceLocation POI = ReadSourceLocation(Record, Idx);
1046 unsigned isObjCMethodParam = Record[Idx++];
1047 unsigned scopeDepth = Record[Idx++];
1048 unsigned scopeIndex = Record[Idx++];
1049 unsigned declQualifier = Record[Idx++];
1057 PD->ParmVarDeclBits.IsKNRPromoted = Record[Idx++];
1058 PD->ParmVarDeclBits.HasInheritedDefaultArg = Record[Idx++];
1059 if (Record[Idx++]) // hasUninstantiatedDefaultArg.
1069 AD->setRParenLoc(ReadSourceLocation(Record, Idx));
1075 BD->setSignatureAsWritten(GetTypeSourceInfo(Record, Idx));
1076 unsigned NumParams = Record[Idx++];
1080 Params.push_back(ReadDeclAs<ParmVarDecl>(Record, Idx));
1083 BD->setIsVariadic(Record[Idx++]);
1084 BD->setBlockMissingReturnType(Record[Idx++]);
1085 BD->setIsConversionFromLambda(Record[Idx++]);
1087 bool capturesCXXThis = Record[Idx++];
1088 unsigned numCaptures = Record[Idx++];
1092 VarDecl *decl = ReadDeclAs<VarDecl>(Record, Idx);
1093 unsigned flags = Record[Idx++];
1106 unsigned ContextParamPos = Record[Idx++];
1107 CD->setNothrow(Record[Idx++] != 0);
1111 CD->setParam(I, ReadDeclAs<ImplicitParamDecl>(Record, Idx));
1113 CD->setContextParam(I, ReadDeclAs<ImplicitParamDecl>(Record, Idx));
1119 D->setLanguage((LinkageSpecDecl::LanguageIDs)Record[Idx++]);
1120 D->setExternLoc(ReadSourceLocation(Record, Idx));
1121 D->setRBraceLoc(ReadSourceLocation(Record, Idx));
1126 D->setLocStart(ReadSourceLocation(Record, Idx));
1133 D->setInline(Record[Idx++]);
1134 D->LocStart = ReadSourceLocation(Record, Idx);
1135 D->RBraceLoc = ReadSourceLocation(Record, Idx);
1143 NamespaceDecl *Anon = ReadDeclAs<NamespaceDecl>(Record, Idx);
1155 D->NamespaceLoc = ReadSourceLocation(Record, Idx);
1156 D->IdentLoc = ReadSourceLocation(Record, Idx);
1157 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1158 D->Namespace = ReadDeclAs<NamedDecl>(Record, Idx);
1163 D->setUsingLoc(ReadSourceLocation(Record, Idx));
1164 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1165 ReadDeclarationNameLoc(D->DNLoc, D->getDeclName(), Record, Idx);
1166 D->FirstUsingShadow.setPointer(ReadDeclAs<UsingShadowDecl>(Record, Idx));
1167 D->setTypename(Record[Idx++]);
1168 if (NamedDecl *Pattern = ReadDeclAs<NamedDecl>(Record, Idx))
1175 D->setTargetDecl(ReadDeclAs<NamedDecl>(Record, Idx));
1176 D->UsingOrNextShadow = ReadDeclAs<NamedDecl>(Record, Idx);
1177 UsingShadowDecl *Pattern = ReadDeclAs<UsingShadowDecl>(Record, Idx);
1185 D->UsingLoc = ReadSourceLocation(Record, Idx);
1186 D->NamespaceLoc = ReadSourceLocation(Record, Idx);
1187 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1188 D->NominatedNamespace = ReadDeclAs<NamedDecl>(Record, Idx);
1189 D->CommonAncestor = ReadDeclAs<DeclContext>(Record, Idx);
1194 D->setUsingLoc(ReadSourceLocation(Record, Idx));
1195 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1196 ReadDeclarationNameLoc(D->DNLoc, D->getDeclName(), Record, Idx);
1202 D->TypenameLocation = ReadSourceLocation(Record, Idx);
1203 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1208 const RecordData &Record, unsigned &Idx) {
1210 Data.UserDeclaredConstructor = Record[Idx++];
1211 Data.UserDeclaredSpecialMembers = Record[Idx++];
1212 Data.Aggregate = Record[Idx++];
1213 Data.PlainOldData = Record[Idx++];
1214 Data.Empty = Record[Idx++];
1215 Data.Polymorphic = Record[Idx++];
1216 Data.Abstract = Record[Idx++];
1217 Data.IsStandardLayout = Record[Idx++];
1218 Data.HasNoNonEmptyBases = Record[Idx++];
1219 Data.HasPrivateFields = Record[Idx++];
1220 Data.HasProtectedFields = Record[Idx++];
1221 Data.HasPublicFields = Record[Idx++];
1222 Data.HasMutableFields = Record[Idx++];
1223 Data.HasVariantMembers = Record[Idx++];
1224 Data.HasOnlyCMembers = Record[Idx++];
1225 Data.HasInClassInitializer = Record[Idx++];
1226 Data.HasUninitializedReferenceMember = Record[Idx++];
1227 Data.NeedOverloadResolutionForMoveConstructor = Record[Idx++];
1228 Data.NeedOverloadResolutionForMoveAssignment = Record[Idx++];
1229 Data.NeedOverloadResolutionForDestructor = Record[Idx++];
1230 Data.DefaultedMoveConstructorIsDeleted = Record[Idx++];
1231 Data.DefaultedMoveAssignmentIsDeleted = Record[Idx++];
1232 Data.DefaultedDestructorIsDeleted = Record[Idx++];
1233 Data.HasTrivialSpecialMembers = Record[Idx++];
1234 Data.DeclaredNonTrivialSpecialMembers = Record[Idx++];
1235 Data.HasIrrelevantDestructor = Record[Idx++];
1236 Data.HasConstexprNonCopyMoveConstructor = Record[Idx++];
1237 Data.DefaultedDefaultConstructorIsConstexpr = Record[Idx++];
1238 Data.HasConstexprDefaultConstructor = Record[Idx++];
1239 Data.HasNonLiteralTypeFieldsOrBases = Record[Idx++];
1240 Data.ComputedVisibleConversions = Record[Idx++];
1241 Data.UserProvidedDefaultConstructor = Record[Idx++];
1242 Data.DeclaredSpecialMembers = Record[Idx++];
1243 Data.ImplicitCopyConstructorHasConstParam = Record[Idx++];
1244 Data.ImplicitCopyAssignmentHasConstParam = Record[Idx++];
1245 Data.HasDeclaredCopyConstructorWithConstParam = Record[Idx++];
1246 Data.HasDeclaredCopyAssignmentWithConstParam = Record[Idx++];
1248 Data.NumBases = Record[Idx++];
1250 Data.Bases = Reader.readCXXBaseSpecifiers(F, Record, Idx);
1251 Data.NumVBases = Record[Idx++];
1253 Data.VBases = Reader.readCXXBaseSpecifiers(F, Record, Idx);
1255 Reader.ReadUnresolvedSet(F, Data.Conversions, Record, Idx);
1256 Reader.ReadUnresolvedSet(F, Data.VisibleConversions, Record, Idx);
1258 Data.FirstFriend = ReadDeclID(Record, Idx);
1264 Lambda.Dependent = Record[Idx++];
1265 Lambda.IsGenericLambda = Record[Idx++];
1266 Lambda.CaptureDefault = Record[Idx++];
1267 Lambda.NumCaptures = Record[Idx++];
1268 Lambda.NumExplicitCaptures = Record[Idx++];
1269 Lambda.ManglingNumber = Record[Idx++];
1270 Lambda.ContextDecl = ReadDecl(Record, Idx);
1274 Lambda.MethodTyInfo = GetTypeSourceInfo(Record, Idx);
1276 SourceLocation Loc = ReadSourceLocation(Record, Idx);
1277 bool IsImplicit = Record[Idx++];
1278 LambdaCaptureKind Kind = static_cast<LambdaCaptureKind>(Record[Idx++]);
1285 VarDecl *Var = ReadDeclAs<VarDecl>(Record, Idx);
1286 SourceLocation EllipsisLoc = ReadSourceLocation(Record, Idx);
1387 bool IsLambda = Record[Idx++];
1394 ReadCXXDefinitionData(*DD, Record, Idx);
1439 switch ((CXXRecKind)Record[Idx++]) {
1445 ClassTemplateDecl *Template = ReadDeclAs<ClassTemplateDecl>(Record, Idx);
1459 CXXRecordDecl *RD = ReadDeclAs<CXXRecordDecl>(Record, Idx);
1460 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
1461 SourceLocation POI = ReadSourceLocation(Record, Idx);
1470 bool WasDefinition = Record[Idx++];
1480 DeclID KeyFn = ReadDeclID(Record, Idx);
1493 unsigned NumOverridenMethods = Record[Idx++];
1497 if (CXXMethodDecl *MD = ReadDeclAs<CXXMethodDecl>(Record, Idx))
1505 if (auto *CD = ReadDeclAs<CXXConstructorDecl>(Record, Idx))
1507 D->IsExplicitSpecified = Record[Idx++];
1510 Reader.ReadCXXCtorInitializers(F, Record, Idx);
1516 D->OperatorDelete = ReadDeclAs<FunctionDecl>(Record, Idx);
1521 D->IsExplicitSpecified = Record[Idx++];
1526 D->ImportedAndComplete.setPointer(readModule(Record, Idx));
1527 D->ImportedAndComplete.setInt(Record[Idx++]);
1530 StoredLocs[I] = ReadSourceLocation(Record, Idx);
1531 ++Idx; // The number of stored source locations.
1536 D->setColonLoc(ReadSourceLocation(Record, Idx));
1541 if (Record[Idx++]) // hasFriendDecl
1542 D->Friend = ReadDeclAs<NamedDecl>(Record, Idx);
1544 D->Friend = GetTypeSourceInfo(Record, Idx);
1546 D->getTPLists()[i] = Reader.ReadTemplateParameterList(F, Record, Idx);
1547 D->NextFriend = ReadDeclID(Record, Idx);
1548 D->UnsupportedFriend = (Record[Idx++] != 0);
1549 D->FriendLoc = ReadSourceLocation(Record, Idx);
1554 unsigned NumParams = Record[Idx++];
1558 D->Params[i] = Reader.ReadTemplateParameterList(F, Record, Idx);
1559 if (Record[Idx++]) // HasFriendDecl
1560 D->Friend = ReadDeclAs<NamedDecl>(Record, Idx);
1562 D->Friend = GetTypeSourceInfo(Record, Idx);
1563 D->FriendLoc = ReadSourceLocation(Record, Idx);
1569 DeclID PatternID = ReadDeclID(Record, Idx);
1572 = Reader.ReadTemplateParameterList(F, Record, Idx);
1598 = ReadDeclAs<RedeclarableTemplateDecl>(Record, Idx)) {
1602 if (Record[Idx++])
1608 D->IdentifierNamespace = Record[Idx++];
1630 unsigned Size = Record[Idx++];
1633 SpecIDs.push_back(ReadDeclID(Record, Idx));
1636 Size = Record[Idx++];
1639 SpecIDs.push_back(ReadDeclID(Record, Idx));
1675 unsigned Size = Record[Idx++];
1678 SpecIDs.push_back(ReadDeclID(Record, Idx));
1681 Size = Record[Idx++];
1684 SpecIDs.push_back(ReadDeclID(Record, Idx));
1705 if (Decl *InstD = ReadDecl(Record, Idx)) {
1710 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx);
1725 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx);
1728 D->PointOfInstantiation = ReadSourceLocation(Record, Idx);
1729 D->SpecializationKind = (TemplateSpecializationKind)Record[Idx++];
1731 bool writtenAsCanonicalDecl = Record[Idx++];
1733 ClassTemplateDecl *CanonPattern = ReadDeclAs<ClassTemplateDecl>(Record,Idx);
1768 if (TypeSourceInfo *TyInfo = GetTypeSourceInfo(Record, Idx)) {
1772 ExplicitInfo->ExternLoc = ReadSourceLocation(Record, Idx);
1773 ExplicitInfo->TemplateKeywordLoc = ReadSourceLocation(Record, Idx);
1784 D->TemplateParams = Reader.ReadTemplateParameterList(F, Record, Idx);
1785 D->ArgsAsWritten = Reader.ReadASTTemplateArgumentListInfo(F, Record, Idx);
1790 ReadDeclAs<ClassTemplatePartialSpecializationDecl>(Record, Idx));
1791 D->InstantiatedFromMember.setInt(Record[Idx++]);
1798 D->Specialization = ReadDeclAs<CXXMethodDecl>(Record, Idx);
1809 if (unsigned NumSpecs = Record[Idx++]) {
1816 CommonPtr->LazySpecializations[I + 1] = ReadDeclID(Record, Idx);
1832 if (Decl *InstD = ReadDecl(Record, Idx)) {
1837 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx);
1851 if (TypeSourceInfo *TyInfo = GetTypeSourceInfo(Record, Idx)) {
1855 ExplicitInfo->ExternLoc = ReadSourceLocation(Record, Idx);
1856 ExplicitInfo->TemplateKeywordLoc = ReadSourceLocation(Record, Idx);
1861 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx);
1864 D->PointOfInstantiation = ReadSourceLocation(Record, Idx);
1865 D->SpecializationKind = (TemplateSpecializationKind)Record[Idx++];
1867 bool writtenAsCanonicalDecl = Record[Idx++];
1869 VarTemplateDecl *CanonPattern = ReadDeclAs<VarTemplateDecl>(Record, Idx);
1893 D->TemplateParams = Reader.ReadTemplateParameterList(F, Record, Idx);
1894 D->ArgsAsWritten = Reader.ReadASTTemplateArgumentListInfo(F, Record, Idx);
1899 ReadDeclAs<VarTemplatePartialSpecializationDecl>(Record, Idx));
1900 D->InstantiatedFromMember.setInt(Record[Idx++]);
1907 D->setDeclaredWithTypename(Record[Idx++]);
1909 bool Inherited = Record[Idx++];
1910 TypeSourceInfo *DefArg = GetTypeSourceInfo(Record, Idx);
1917 D->setDepth(Record[Idx++]);
1918 D->setPosition(Record[Idx++]);
1922 Data[2*I] = Reader.readType(F, Record, Idx).getAsOpaquePtr();
1923 Data[2*I + 1] = GetTypeSourceInfo(Record, Idx);
1927 D->ParameterPack = Record[Idx++];
1928 if (Record[Idx++]) {
1930 bool Inherited = Record[Idx++];
1939 D->setDepth(Record[Idx++]);
1940 D->setPosition(Record[Idx++]);
1945 Data[I] = Reader.ReadTemplateParameterList(F, Record, Idx);
1948 TemplateArgumentLoc Arg = Reader.ReadTemplateArgumentLoc(F, Record, Idx);
1949 bool IsInherited = Record[Idx++];
1951 D->ParameterPack = Record[Idx++];
1962 D->AssertExprAndFailed.setInt(Record[Idx++]);
1964 D->RParenLoc = ReadSourceLocation(Record, Idx);
1973 uint64_t LexicalOffset = Record[Idx++];
1974 uint64_t VisibleOffset = Record[Idx++];
1981 DeclID FirstDeclID = ReadDeclID(Record, Idx);
2146 const RecordData &Record, unsigned &Idx) {
2147 for (unsigned i = 0, e = Record[Idx++]; i != e; ++i) {
2149 attr::Kind Kind = (attr::Kind)Record[Idx++];
2150 SourceRange Range = ReadSourceRange(F, Record, Idx);
2610 unsigned Idx = 0;
2611 ASTDeclReader Reader(*this, *Loc.F, ID, RawLocation, Record,Idx);
2682 D = FriendDecl::CreateDeserialized(Context, ID, Record[Idx++]);
2718 D = NonTypeTemplateParmDecl::CreateDeserialized(Context, ID, Record[Idx++]);
2725 Record[Idx++]);
2791 D = CapturedDecl::CreateDeserialized(Context, ID, Record[Idx++]);
2802 D = OMPThreadPrivateDecl::CreateDeserialized(Context, ID, Record[Idx++]);
2852 assert(Idx == Record.size());
2893 unsigned Idx = 0;
2894 ASTDeclReader Reader(*this, *F, ID, 0, Record, Idx);
3155 while (Idx < Record.size()) {
3156 switch ((DeclUpdateKind)Record[Idx++]) {
3158 Decl *MD = Reader.ReadDecl(ModuleFile, Record, Idx);
3166 (void)Reader.ReadDecl(ModuleFile, Record, Idx);
3171 = Reader.ReadDeclAs<NamespaceDecl>(ModuleFile, Record, Idx);
3187 Reader.ReadSourceLocation(ModuleFile, Record, Idx));
3198 if (Record[Idx++]) {
3209 FD->setInnerLocStart(Reader.ReadSourceLocation(ModuleFile, Record, Idx));
3212 Reader.ReadCXXCtorInitializers(ModuleFile, Record, Idx);
3216 assert(Idx == Record.size() && "lazy body must be last");
3225 uint64_t LexicalOffset = Record[Idx++];
3233 auto TSK = (TemplateSpecializationKind)Record[Idx++];
3234 SourceLocation POI = Reader.ReadSourceLocation(ModuleFile, Record, Idx);
3245 if (Record[Idx++]) {
3247 ReadDeclAs<ClassTemplatePartialSpecializationDecl>(Record, Idx);
3249 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx);
3256 RD->setTagKind((TagTypeKind)Record[Idx++]);
3257 RD->setLocation(Reader.ReadSourceLocation(ModuleFile, Record, Idx));
3258 RD->setLocStart(Reader.ReadSourceLocation(ModuleFile, Record, Idx));
3259 RD->setRBraceLoc(Reader.ReadSourceLocation(ModuleFile, Record, Idx));
3261 if (Record[Idx++]) {
3263 Reader.ReadAttributes(F, Attrs, Record, Idx);
3274 Reader.readExceptionSpec(ModuleFile, ExceptionStorage, EPI, Record, Idx);
3283 FD, Reader.readType(ModuleFile, Record, Idx));
3302 Reader.Context.setManglingNumber(cast<NamedDecl>(D), Record[Idx++]);
3306 Reader.Context.setStaticLocalNumber(cast<VarDecl>(D), Record[Idx++]);