Lines Matching refs:Idx

45     unsigned &Idx;
92 for (unsigned I = 0, Size = Record[Idx++]; I != Size; ++I)
93 IDs.push_back(ReadDeclID(Record, Idx));
220 const RecordData &Record, unsigned &Idx)
222 ThisDeclLoc(ThisDeclLoc), Record(Record), Idx(Idx),
463 GetTypeSourceInfo(Record, Idx);
466 DD->DeclInfo = GetTypeSourceInfo(Record, Idx);
487 if (Record[Idx++]) {
489 CD->NumCtorInitializers = Record[Idx++];
491 CD->CtorInitializers = ReadGlobalOffset(F, Record, Idx);
508 GlobalDeclID SemaDCIDForTemplateParmDecl = ReadDeclID(Record, Idx);
509 GlobalDeclID LexicalDCIDForTemplateParmDecl = ReadDeclID(Record, Idx);
517 DeclContext *SemaDC = ReadDeclAs<DeclContext>(Record, Idx);
518 DeclContext *LexicalDC = ReadDeclAs<DeclContext>(Record, Idx);
528 D->setInvalidDecl(Record[Idx++]);
529 if (Record[Idx++]) { // hasAttrs
531 Reader.ReadAttributes(F, Attrs, Record, Idx);
536 D->setImplicit(Record[Idx++]);
537 D->Used = Record[Idx++];
539 D->setReferenced(Record[Idx++]);
540 D->setTopLevelDeclInObjCContainer(Record[Idx++]);
541 D->setAccess((AccessSpecifier)Record[Idx++]);
543 D->setModulePrivate(Record[Idx++]);
548 if (unsigned SubmoduleID = readSubmoduleID(Record, Idx)) {
574 D->setLocation(ReadSourceLocation(Record, Idx));
575 D->CommentKind = (PragmaMSCommentKind)Record[Idx++];
576 std::string Arg = ReadString(Record, Idx);
583 D->setLocation(ReadSourceLocation(Record, Idx));
584 std::string Name = ReadString(Record, Idx);
589 std::string Value = ReadString(Record, Idx);
601 ND->setDeclName(Reader.ReadDeclarationName(F, Record, Idx));
602 AnonymousDeclNumber = Record[Idx++];
607 TD->setLocStart(ReadSourceLocation(Record, Idx));
609 TypeIDForTypeDecl = Reader.getGlobalTypeID(F, Record[Idx++]);
616 TypeSourceInfo *TInfo = GetTypeSourceInfo(Record, Idx);
617 if (Record[Idx++]) { // isModed
618 QualType modedT = Reader.readType(F, Record, Idx);
632 if (auto *Template = ReadDeclAs<TypeAliasTemplateDecl>(Record, Idx))
643 TD->IdentifierNamespace = Record[Idx++];
644 TD->setTagKind((TagDecl::TagKind)Record[Idx++]);
646 TD->setCompleteDefinition(Record[Idx++]);
647 TD->setEmbeddedInDeclarator(Record[Idx++]);
648 TD->setFreeStanding(Record[Idx++]);
649 TD->setCompleteDefinitionRequired(Record[Idx++]);
650 TD->setRBraceLoc(ReadSourceLocation(Record, Idx));
652 switch (Record[Idx++]) {
657 ReadQualifierInfo(*Info, Record, Idx);
662 NamedDeclForTagDecl = ReadDeclID(Record, Idx);
663 TypedefNameForLinkage = Reader.GetIdentifierInfo(F, Record, Idx);
676 if (TypeSourceInfo *TI = Reader.GetTypeSourceInfo(F, Record, Idx))
679 ED->setIntegerType(Reader.readType(F, Record, Idx));
680 ED->setPromotionType(Reader.readType(F, Record, Idx));
681 ED->setNumPositiveBits(Record[Idx++]);
682 ED->setNumNegativeBits(Record[Idx++]);
683 ED->IsScoped = Record[Idx++];
684 ED->IsScopedUsingClassTag = Record[Idx++];
685 ED->IsFixed = Record[Idx++];
712 if (EnumDecl *InstED = ReadDeclAs<EnumDecl>(Record, Idx)) {
713 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
714 SourceLocation POI = ReadSourceLocation(Record, Idx);
723 RD->setHasFlexibleArrayMember(Record[Idx++]);
724 RD->setAnonymousStructOrUnion(Record[Idx++]);
725 RD->setHasObjectMember(Record[Idx++]);
726 RD->setHasVolatileMember(Record[Idx++]);
732 VD->setType(Reader.readType(F, Record, Idx));
737 if (Record[Idx++])
739 ECD->setInitVal(Reader.ReadAPSInt(Record, Idx));
745 DD->setInnerLocStart(ReadSourceLocation(Record, Idx));
746 if (Record[Idx++]) { // hasExtInfo
749 ReadQualifierInfo(*Info, Record, Idx);
758 ReadDeclarationNameLoc(FD->DNLoc, FD->getDeclName(), Record, Idx);
759 FD->IdentifierNamespace = Record[Idx++];
764 FD->SClass = (StorageClass)Record[Idx++];
765 FD->IsInline = Record[Idx++];
766 FD->IsInlineSpecified = Record[Idx++];
767 FD->IsVirtualAsWritten = Record[Idx++];
768 FD->IsPure = Record[Idx++];
769 FD->HasInheritedPrototype = Record[Idx++];
770 FD->HasWrittenPrototype = Record[Idx++];
771 FD->IsDeleted = Record[Idx++];
772 FD->IsTrivial = Record[Idx++];
773 FD->IsDefaulted = Record[Idx++];
774 FD->IsExplicitlyDefaulted = Record[Idx++];
775 FD->HasImplicitReturnZero = Record[Idx++];
776 FD->IsConstexpr = Record[Idx++];
777 FD->HasSkippedBody = Record[Idx++];
778 FD->IsLateTemplateParsed = Record[Idx++];
779 FD->setCachedLinkage(Linkage(Record[Idx++]));
780 FD->EndRangeLoc = ReadSourceLocation(Record, Idx);
782 switch ((FunctionDecl::TemplatedKind)Record[Idx++]) {
789 Idx));
792 FunctionDecl *InstFD = ReadDeclAs<FunctionDecl>(Record, Idx);
793 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
794 SourceLocation POI = ReadSourceLocation(Record, Idx);
802 Idx);
803 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
807 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx,
813 bool HasTemplateArgumentsAsWritten = Record[Idx++];
815 unsigned NumTemplateArgLocs = Record[Idx++];
819 Reader.ReadTemplateArgumentLoc(F, Record, Idx));
821 LAngleLoc = ReadSourceLocation(Record, Idx);
822 RAngleLoc = ReadSourceLocation(Record, Idx);
825 SourceLocation POI = ReadSourceLocation(Record, Idx);
845 = ReadDeclAs<FunctionTemplateDecl>(Record, Idx);
870 unsigned NumTemplates = Record[Idx++];
872 TemplDecls.addDecl(ReadDeclAs<NamedDecl>(Record, Idx));
876 unsigned NumArgs = Record[Idx++];
878 TemplArgs.addArgument(Reader.ReadTemplateArgumentLoc(F, Record, Idx));
879 TemplArgs.setLAngleLoc(ReadSourceLocation(Record, Idx));
880 TemplArgs.setRAngleLoc(ReadSourceLocation(Record, Idx));
891 unsigned NumParams = Record[Idx++];
895 Params.push_back(ReadDeclAs<ParmVarDecl>(Record, Idx));
901 if (Record[Idx++]) {
906 MD->setSelfDecl(ReadDeclAs<ImplicitParamDecl>(Record, Idx));
907 MD->setCmdDecl(ReadDeclAs<ImplicitParamDecl>(Record, Idx));
909 MD->setInstanceMethod(Record[Idx++]);
910 MD->setVariadic(Record[Idx++]);
911 MD->setPropertyAccessor(Record[Idx++]);
912 MD->setDefined(Record[Idx++]);
913 MD->IsOverriding = Record[Idx++];
914 MD->HasSkippedBody = Record[Idx++];
916 MD->IsRedeclaration = Record[Idx++];
917 MD->HasRedeclaration = Record[Idx++];
920 ReadDeclAs<ObjCMethodDecl>(Record, Idx));
922 MD->setDeclImplementation((ObjCMethodDecl::ImplementationControl)Record[Idx++]);
923 MD->setObjCDeclQualifier((Decl::ObjCDeclQualifier)Record[Idx++]);
924 MD->SetRelatedResultType(Record[Idx++]);
925 MD->setReturnType(Reader.readType(F, Record, Idx));
926 MD->setReturnTypeSourceInfo(GetTypeSourceInfo(Record, Idx));
927 MD->DeclEndLoc = ReadSourceLocation(Record, Idx);
928 unsigned NumParams = Record[Idx++];
932 Params.push_back(ReadDeclAs<ParmVarDecl>(Record, Idx));
934 MD->SelLocsKind = Record[Idx++];
935 unsigned NumStoredSelLocs = Record[Idx++];
939 SelLocs.push_back(ReadSourceLocation(Record, Idx));
947 D->Variance = Record[Idx++];
948 D->Index = Record[Idx++];
949 D->VarianceLoc = ReadSourceLocation(Record, Idx);
950 D->ColonLoc = ReadSourceLocation(Record, Idx);
955 CD->setAtStartLoc(ReadSourceLocation(Record, Idx));
956 CD->setAtEndRange(ReadSourceRange(Record, Idx));
960 unsigned numParams = Record[Idx++];
967 auto typeParam = ReadDeclAs<ObjCTypeParamDecl>(Record, Idx);
974 SourceLocation lAngleLoc = ReadSourceLocation(Record, Idx);
975 SourceLocation rAngleLoc = ReadSourceLocation(Record, Idx);
984 TypeIDForTypeDecl = Reader.getGlobalTypeID(F, Record[Idx++]);
988 if (Record[Idx++]) {
999 Data.SuperClassTInfo = GetTypeSourceInfo(Record, Idx);
1001 Data.EndLoc = ReadSourceLocation(Record, Idx);
1002 Data.HasDesignatedInitializers = Record[Idx++];
1005 unsigned NumProtocols = Record[Idx++];
1009 Protocols.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx));
1013 ProtoLocs.push_back(ReadSourceLocation(Record, Idx));
1018 NumProtocols = Record[Idx++];
1022 Protocols.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx));
1041 IVD->setAccessControl((ObjCIvarDecl::AccessControl)Record[Idx++]);
1044 bool synth = Record[Idx++];
1053 if (Record[Idx++]) {
1061 unsigned NumProtoRefs = Record[Idx++];
1065 ProtoRefs.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx));
1069 ProtoLocs.push_back(ReadSourceLocation(Record, Idx));
1086 CD->setCategoryNameLoc(ReadSourceLocation(Record, Idx));
1087 CD->setIvarLBraceLoc(ReadSourceLocation(Record, Idx));
1088 CD->setIvarRBraceLoc(ReadSourceLocation(Record, Idx));
1095 CD->ClassInterface = ReadDeclAs<ObjCInterfaceDecl>(Record, Idx);
1097 unsigned NumProtoRefs = Record[Idx++];
1101 ProtoRefs.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx));
1105 ProtoLocs.push_back(ReadSourceLocation(Record, Idx));
1112 CAD->setClassInterface(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx));
1117 D->setAtLoc(ReadSourceLocation(Record, Idx));
1118 D->setLParenLoc(ReadSourceLocation(Record, Idx));
1119 QualType T = Reader.readType(F, Record, Idx);
1120 TypeSourceInfo *TSI = GetTypeSourceInfo(Record, Idx);
1123 (ObjCPropertyDecl::PropertyAttributeKind)Record[Idx++]);
1125 (ObjCPropertyDecl::PropertyAttributeKind)Record[Idx++]);
1127 (ObjCPropertyDecl::PropertyControl)Record[Idx++]);
1128 D->setGetterName(Reader.ReadDeclarationName(F,Record, Idx).getObjCSelector());
1129 D->setSetterName(Reader.ReadDeclarationName(F,Record, Idx).getObjCSelector());
1130 D->setGetterMethodDecl(ReadDeclAs<ObjCMethodDecl>(Record, Idx));
1131 D->setSetterMethodDecl(ReadDeclAs<ObjCMethodDecl>(Record, Idx));
1132 D->setPropertyIvarDecl(ReadDeclAs<ObjCIvarDecl>(Record, Idx));
1137 D->setClassInterface(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx));
1142 D->setIdentifier(Reader.GetIdentifierInfo(F, Record, Idx));
1143 D->CategoryNameLoc = ReadSourceLocation(Record, Idx);
1148 D->setSuperClass(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx));
1149 D->SuperLoc = ReadSourceLocation(Record, Idx);
1150 D->setIvarLBraceLoc(ReadSourceLocation(Record, Idx));
1151 D->setIvarRBraceLoc(ReadSourceLocation(Record, Idx));
1152 D->setHasNonZeroConstructors(Record[Idx++]);
1153 D->setHasDestructors(Record[Idx++]);
1154 D->NumIvarInitializers = Record[Idx++];
1156 D->IvarInitializers = ReadGlobalOffset(F, Record, Idx);
1161 D->setAtLoc(ReadSourceLocation(Record, Idx));
1162 D->setPropertyDecl(ReadDeclAs<ObjCPropertyDecl>(Record, Idx));
1163 D->PropertyIvarDecl = ReadDeclAs<ObjCIvarDecl>(Record, Idx);
1164 D->IvarLoc = ReadSourceLocation(Record, Idx);
1171 FD->Mutable = Record[Idx++];
1172 if (int BitWidthOrInitializer = Record[Idx++]) {
1178 Reader.readType(F, Record, Idx).getAsOpaquePtr());
1184 if (FieldDecl *Tmpl = ReadDeclAs<FieldDecl>(Record, Idx))
1192 PD->GetterId = Reader.GetIdentifierInfo(F, Record, Idx);
1193 PD->SetterId = Reader.GetIdentifierInfo(F, Record, Idx);
1199 FD->ChainingSize = Record[Idx++];
1204 FD->Chaining[I] = ReadDeclAs<NamedDecl>(Record, Idx);
1213 VD->VarDeclBits.SClass = (StorageClass)Record[Idx++];
1214 VD->VarDeclBits.TSCSpec = Record[Idx++];
1215 VD->VarDeclBits.InitStyle = Record[Idx++];
1217 VD->NonParmVarDeclBits.ExceptionVar = Record[Idx++];
1218 VD->NonParmVarDeclBits.NRVOVariable = Record[Idx++];
1219 VD->NonParmVarDeclBits.CXXForRangeDecl = Record[Idx++];
1220 VD->NonParmVarDeclBits.ARCPseudoStrong = Record[Idx++];
1221 VD->NonParmVarDeclBits.IsInline = Record[Idx++];
1222 VD->NonParmVarDeclBits.IsInlineSpecified = Record[Idx++];
1223 VD->NonParmVarDeclBits.IsConstexpr = Record[Idx++];
1224 VD->NonParmVarDeclBits.IsInitCapture = Record[Idx++];
1225 VD->NonParmVarDeclBits.PreviousDeclInSameBlockScope = Record[Idx++];
1227 Linkage VarLinkage = Linkage(Record[Idx++]);
1235 if (uint64_t Val = Record[Idx++]) {
1247 switch ((VarKind)Record[Idx++]) {
1257 VD->setDescribedVarTemplate(ReadDeclAs<VarTemplateDecl>(Record, Idx));
1260 VarDecl *Tmpl = ReadDeclAs<VarDecl>(Record, Idx);
1261 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
1262 SourceLocation POI = ReadSourceLocation(Record, Idx);
1278 unsigned isObjCMethodParam = Record[Idx++];
1279 unsigned scopeDepth = Record[Idx++];
1280 unsigned scopeIndex = Record[Idx++];
1281 unsigned declQualifier = Record[Idx++];
1289 PD->ParmVarDeclBits.IsKNRPromoted = Record[Idx++];
1290 PD->ParmVarDeclBits.HasInheritedDefaultArg = Record[Idx++];
1291 if (Record[Idx++]) // hasUninstantiatedDefaultArg.
1301 AD->setRParenLoc(ReadSourceLocation(Record, Idx));
1307 BD->setSignatureAsWritten(GetTypeSourceInfo(Record, Idx));
1308 unsigned NumParams = Record[Idx++];
1312 Params.push_back(ReadDeclAs<ParmVarDecl>(Record, Idx));
1315 BD->setIsVariadic(Record[Idx++]);
1316 BD->setBlockMissingReturnType(Record[Idx++]);
1317 BD->setIsConversionFromLambda(Record[Idx++]);
1319 bool capturesCXXThis = Record[Idx++];
1320 unsigned numCaptures = Record[Idx++];
1324 VarDecl *decl = ReadDeclAs<VarDecl>(Record, Idx);
1325 unsigned flags = Record[Idx++];
1337 unsigned ContextParamPos = Record[Idx++];
1338 CD->setNothrow(Record[Idx++] != 0);
1342 CD->setParam(I, ReadDeclAs<ImplicitParamDecl>(Record, Idx));
1344 CD->setContextParam(I, ReadDeclAs<ImplicitParamDecl>(Record, Idx));
1350 D->setLanguage((LinkageSpecDecl::LanguageIDs)Record[Idx++]);
1351 D->setExternLoc(ReadSourceLocation(Record, Idx));
1352 D->setRBraceLoc(ReadSourceLocation(Record, Idx));
1357 D->setLocStart(ReadSourceLocation(Record, Idx));
1363 D->setInline(Record[Idx++]);
1364 D->LocStart = ReadSourceLocation(Record, Idx);
1365 D->RBraceLoc = ReadSourceLocation(Record, Idx);
1373 AnonNamespace = ReadDeclID(Record, Idx);
1395 D->NamespaceLoc = ReadSourceLocation(Record, Idx);
1396 D->IdentLoc = ReadSourceLocation(Record, Idx);
1397 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1398 D->Namespace = ReadDeclAs<NamedDecl>(Record, Idx);
1404 D->setUsingLoc(ReadSourceLocation(Record, Idx));
1405 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1406 ReadDeclarationNameLoc(D->DNLoc, D->getDeclName(), Record, Idx);
1407 D->FirstUsingShadow.setPointer(ReadDeclAs<UsingShadowDecl>(Record, Idx));
1408 D->setTypename(Record[Idx++]);
1409 if (NamedDecl *Pattern = ReadDeclAs<NamedDecl>(Record, Idx))
1417 D->setTargetDecl(ReadDeclAs<NamedDecl>(Record, Idx));
1418 D->UsingOrNextShadow = ReadDeclAs<NamedDecl>(Record, Idx);
1419 UsingShadowDecl *Pattern = ReadDeclAs<UsingShadowDecl>(Record, Idx);
1429 ReadDeclAs<ConstructorUsingShadowDecl>(Record, Idx);
1431 ReadDeclAs<ConstructorUsingShadowDecl>(Record, Idx);
1432 D->IsVirtual = Record[Idx++];
1437 D->UsingLoc = ReadSourceLocation(Record, Idx);
1438 D->NamespaceLoc = ReadSourceLocation(Record, Idx);
1439 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1440 D->NominatedNamespace = ReadDeclAs<NamedDecl>(Record, Idx);
1441 D->CommonAncestor = ReadDeclAs<DeclContext>(Record, Idx);
1446 D->setUsingLoc(ReadSourceLocation(Record, Idx));
1447 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1448 ReadDeclarationNameLoc(D->DNLoc, D->getDeclName(), Record, Idx);
1455 D->TypenameLocation = ReadSourceLocation(Record, Idx);
1456 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1462 const RecordData &Record, unsigned &Idx) {
1464 Data.UserDeclaredConstructor = Record[Idx++];
1465 Data.UserDeclaredSpecialMembers = Record[Idx++];
1466 Data.Aggregate = Record[Idx++];
1467 Data.PlainOldData = Record[Idx++];
1468 Data.Empty = Record[Idx++];
1469 Data.Polymorphic = Record[Idx++];
1470 Data.Abstract = Record[Idx++];
1471 Data.IsStandardLayout = Record[Idx++];
1472 Data.HasNoNonEmptyBases = Record[Idx++];
1473 Data.HasPrivateFields = Record[Idx++];
1474 Data.HasProtectedFields = Record[Idx++];
1475 Data.HasPublicFields = Record[Idx++];
1476 Data.HasMutableFields = Record[Idx++];
1477 Data.HasVariantMembers = Record[Idx++];
1478 Data.HasOnlyCMembers = Record[Idx++];
1479 Data.HasInClassInitializer = Record[Idx++];
1480 Data.HasUninitializedReferenceMember = Record[Idx++];
1481 Data.HasUninitializedFields = Record[Idx++];
1482 Data.HasInheritedConstructor = Record[Idx++];
1483 Data.HasInheritedAssignment = Record[Idx++];
1484 Data.NeedOverloadResolutionForMoveConstructor = Record[Idx++];
1485 Data.NeedOverloadResolutionForMoveAssignment = Record[Idx++];
1486 Data.NeedOverloadResolutionForDestructor = Record[Idx++];
1487 Data.DefaultedMoveConstructorIsDeleted = Record[Idx++];
1488 Data.DefaultedMoveAssignmentIsDeleted = Record[Idx++];
1489 Data.DefaultedDestructorIsDeleted = Record[Idx++];
1490 Data.HasTrivialSpecialMembers = Record[Idx++];
1491 Data.DeclaredNonTrivialSpecialMembers = Record[Idx++];
1492 Data.HasIrrelevantDestructor = Record[Idx++];
1493 Data.HasConstexprNonCopyMoveConstructor = Record[Idx++];
1494 Data.HasDefaultedDefaultConstructor = Record[Idx++];
1495 Data.DefaultedDefaultConstructorIsConstexpr = Record[Idx++];
1496 Data.HasConstexprDefaultConstructor = Record[Idx++];
1497 Data.HasNonLiteralTypeFieldsOrBases = Record[Idx++];
1498 Data.ComputedVisibleConversions = Record[Idx++];
1499 Data.UserProvidedDefaultConstructor = Record[Idx++];
1500 Data.DeclaredSpecialMembers = Record[Idx++];
1501 Data.ImplicitCopyConstructorHasConstParam = Record[Idx++];
1502 Data.ImplicitCopyAssignmentHasConstParam = Record[Idx++];
1503 Data.HasDeclaredCopyConstructorWithConstParam = Record[Idx++];
1504 Data.HasDeclaredCopyAssignmentWithConstParam = Record[Idx++];
1506 Data.NumBases = Record[Idx++];
1508 Data.Bases = ReadGlobalOffset(F, Record, Idx);
1509 Data.NumVBases = Record[Idx++];
1511 Data.VBases = ReadGlobalOffset(F, Record, Idx);
1513 Reader.ReadUnresolvedSet(F, Data.Conversions, Record, Idx);
1514 Reader.ReadUnresolvedSet(F, Data.VisibleConversions, Record, Idx);
1516 Data.FirstFriend = ReadDeclID(Record, Idx);
1522 Lambda.Dependent = Record[Idx++];
1523 Lambda.IsGenericLambda = Record[Idx++];
1524 Lambda.CaptureDefault = Record[Idx++];
1525 Lambda.NumCaptures = Record[Idx++];
1526 Lambda.NumExplicitCaptures = Record[Idx++];
1527 Lambda.ManglingNumber = Record[Idx++];
1528 Lambda.ContextDecl = ReadDecl(Record, Idx);
1532 Lambda.MethodTyInfo = GetTypeSourceInfo(Record, Idx);
1534 SourceLocation Loc = ReadSourceLocation(Record, Idx);
1535 bool IsImplicit = Record[Idx++];
1536 LambdaCaptureKind Kind = static_cast<LambdaCaptureKind>(Record[Idx++]);
1545 VarDecl *Var = ReadDeclAs<VarDecl>(Record, Idx);
1546 SourceLocation EllipsisLoc = ReadSourceLocation(Record, Idx);
1668 bool IsLambda = Record[Idx++];
1675 ReadCXXDefinitionData(*DD, Record, Idx);
1709 switch ((CXXRecKind)Record[Idx++]) {
1717 ClassTemplateDecl *Template = ReadDeclAs<ClassTemplateDecl>(Record, Idx);
1731 CXXRecordDecl *RD = ReadDeclAs<CXXRecordDecl>(Record, Idx);
1732 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
1733 SourceLocation POI = ReadSourceLocation(Record, Idx);
1742 bool WasDefinition = Record[Idx++];
1752 DeclID KeyFn = ReadDeclID(Record, Idx);
1766 unsigned NumOverridenMethods = Record[Idx++];
1771 if (CXXMethodDecl *MD = ReadDeclAs<CXXMethodDecl>(Record, Idx))
1777 Idx += NumOverridenMethods;
1785 auto *Shadow = ReadDeclAs<ConstructorUsingShadowDecl>(Record, Idx);
1786 auto *Ctor = ReadDeclAs<CXXConstructorDecl>(Record, Idx);
1793 D->IsExplicitSpecified = Record[Idx++];
1799 if (auto *OperatorDelete = ReadDeclAs<FunctionDecl>(Record, Idx)) {
1809 D->IsExplicitSpecified = Record[Idx++];
1814 D->ImportedAndComplete.setPointer(readModule(Record, Idx));
1815 D->ImportedAndComplete.setInt(Record[Idx++]);
1818 StoredLocs[I] = ReadSourceLocation(Record, Idx);
1819 ++Idx; // The number of stored source locations.
1824 D->setColonLoc(ReadSourceLocation(Record, Idx));
1829 if (Record[Idx++]) // hasFriendDecl
1830 D->Friend = ReadDeclAs<NamedDecl>(Record, Idx);
1832 D->Friend = GetTypeSourceInfo(Record, Idx);
1835 Reader.ReadTemplateParameterList(F, Record, Idx);
1836 D->NextFriend = ReadDeclID(Record, Idx);
1837 D->UnsupportedFriend = (Record[Idx++] != 0);
1838 D->FriendLoc = ReadSourceLocation(Record, Idx);
1843 unsigned NumParams = Record[Idx++];
1847 D->Params[i] = Reader.ReadTemplateParameterList(F, Record, Idx);
1848 if (Record[Idx++]) // HasFriendDecl
1849 D->Friend = ReadDeclAs<NamedDecl>(Record, Idx);
1851 D->Friend = GetTypeSourceInfo(Record, Idx);
1852 D->FriendLoc = ReadSourceLocation(Record, Idx);
1858 DeclID PatternID = ReadDeclID(Record, Idx);
1861 = Reader.ReadTemplateParameterList(F, Record, Idx);
1884 = ReadDeclAs<RedeclarableTemplateDecl>(Record, Idx)) {
1888 if (Record[Idx++])
1894 D->IdentifierNamespace = Record[Idx++];
1976 if (Decl *InstD = ReadDecl(Record, Idx)) {
1981 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx);
1995 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx,
1998 D->PointOfInstantiation = ReadSourceLocation(Record, Idx);
1999 D->SpecializationKind = (TemplateSpecializationKind)Record[Idx++];
2001 bool writtenAsCanonicalDecl = Record[Idx++];
2003 ClassTemplateDecl *CanonPattern = ReadDeclAs<ClassTemplateDecl>(Record,Idx);
2033 if (TypeSourceInfo *TyInfo = GetTypeSourceInfo(Record, Idx)) {
2037 ExplicitInfo->ExternLoc = ReadSourceLocation(Record, Idx);
2038 ExplicitInfo->TemplateKeywordLoc = ReadSourceLocation(Record, Idx);
2049 D->TemplateParams = Reader.ReadTemplateParameterList(F, Record, Idx);
2050 D->ArgsAsWritten = Reader.ReadASTTemplateArgumentListInfo(F, Record, Idx);
2055 ReadDeclAs<ClassTemplatePartialSpecializationDecl>(Record, Idx));
2056 D->InstantiatedFromMember.setInt(Record[Idx++]);
2063 D->Specialization = ReadDeclAs<CXXMethodDecl>(Record, Idx);
2093 if (Decl *InstD = ReadDecl(Record, Idx)) {
2098 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx);
2112 if (TypeSourceInfo *TyInfo = GetTypeSourceInfo(Record, Idx)) {
2116 ExplicitInfo->ExternLoc = ReadSourceLocation(Record, Idx);
2117 ExplicitInfo->TemplateKeywordLoc = ReadSourceLocation(Record, Idx);
2122 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx,
2125 D->PointOfInstantiation = ReadSourceLocation(Record, Idx);
2126 D->SpecializationKind = (TemplateSpecializationKind)Record[Idx++];
2128 bool writtenAsCanonicalDecl = Record[Idx++];
2130 VarTemplateDecl *CanonPattern = ReadDeclAs<VarTemplateDecl>(Record, Idx);
2155 D->TemplateParams = Reader.ReadTemplateParameterList(F, Record, Idx);
2156 D->ArgsAsWritten = Reader.ReadASTTemplateArgumentListInfo(F, Record, Idx);
2161 ReadDeclAs<VarTemplatePartialSpecializationDecl>(Record, Idx));
2162 D->InstantiatedFromMember.setInt(Record[Idx++]);
2169 D->setDeclaredWithTypename(Record[Idx++]);
2171 if (Record[Idx++])
2172 D->setDefaultArgument(GetTypeSourceInfo(Record, Idx));
2178 D->setDepth(Record[Idx++]);
2179 D->setPosition(Record[Idx++]);
2184 new (&TypesAndInfos[I].first) QualType(Reader.readType(F, Record, Idx));
2185 TypesAndInfos[I].second = GetTypeSourceInfo(Record, Idx);
2189 D->ParameterPack = Record[Idx++];
2190 if (Record[Idx++])
2198 D->setDepth(Record[Idx++]);
2199 D->setPosition(Record[Idx++]);
2205 Data[I] = Reader.ReadTemplateParameterList(F, Record, Idx);
2208 D->ParameterPack = Record[Idx++];
2209 if (Record[Idx++])
2211 Reader.ReadTemplateArgumentLoc(F, Record, Idx));
2222 D->AssertExprAndFailed.setInt(Record[Idx++]);
2224 D->RParenLoc = ReadSourceLocation(Record, Idx);
2233 uint64_t LexicalOffset = ReadLocalOffset(Record, Idx);
2234 uint64_t VisibleOffset = ReadLocalOffset(Record, Idx);
2241 DeclID FirstDeclID = ReadDeclID(Record, Idx);
2255 } else if (unsigned N = Record[Idx++]) {
2267 MergeWith = ReadDecl(Record, Idx/*, MergeWith*/);
2269 RedeclOffset = ReadLocalOffset(Record, Idx);
2273 (void)ReadDecl(Record, Idx);
2446 D->setLocation(Reader.ReadSourceLocation(F, Record, Idx));
2449 D->PrevDeclInScope = Reader.ReadDeclID(F, Record, Idx);
2462 const RecordData &Record, unsigned &Idx) {
2463 for (unsigned i = 0, e = Record[Idx++]; i != e; ++i) {
2465 attr::Kind Kind = (attr::Kind)Record[Idx++];
2466 SourceRange Range = ReadSourceRange(F, Record, Idx);
3220 unsigned Idx = 0;
3221 ASTDeclReader Reader(*this, Loc, ID, DeclLoc, Record,Idx);
3298 D = FriendDecl::CreateDeserialized(Context, ID, Record[Idx++]);
3334 D = NonTypeTemplateParmDecl::CreateDeserialized(Context, ID, Record[Idx++]);
3341 Record[Idx++]);
3407 D = CapturedDecl::CreateDeserialized(Context, ID, Record[Idx++]);
3421 D = OMPThreadPrivateDecl::CreateDeserialized(Context, ID, Record[Idx++]);
3430 D = PragmaCommentDecl::CreateDeserialized(Context, ID, Record[Idx++]);
3434 Record[Idx++]);
3463 assert(Idx == Record.size());
3505 unsigned Idx = 0;
3507 SourceLocation(), Record, Idx);
3717 while (Idx < Record.size()) {
3718 switch ((DeclUpdateKind)Record[Idx++]) {
3723 Decl *MD = Reader.ReadDecl(ModuleFile, Record, Idx);
3733 (void)Reader.ReadDecl(ModuleFile, Record, Idx);
3738 = Reader.ReadDeclAs<NamespaceDecl>(ModuleFile, Record, Idx);
3755 Reader.ReadSourceLocation(ModuleFile, Record, Idx));
3781 if (Record[Idx++]) {
3789 FD->setInnerLocStart(Reader.ReadSourceLocation(ModuleFile, Record, Idx));
3791 CD->NumCtorInitializers = Record[Idx++];
3793 CD->CtorInitializers = ReadGlobalOffset(F, Record, Idx);
3798 assert(Idx == Record.size() && "lazy body must be last");
3811 uint64_t LexicalOffset = ReadLocalOffset(Record, Idx);
3818 auto TSK = (TemplateSpecializationKind)Record[Idx++];
3819 SourceLocation POI = Reader.ReadSourceLocation(ModuleFile, Record, Idx);
3830 if (Record[Idx++]) {
3832 ReadDeclAs<ClassTemplatePartialSpecializationDecl>(Record, Idx);
3834 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx);
3846 RD->setTagKind((TagTypeKind)Record[Idx++]);
3847 RD->setLocation(Reader.ReadSourceLocation(ModuleFile, Record, Idx));
3848 RD->setLocStart(Reader.ReadSourceLocation(ModuleFile, Record, Idx));
3849 RD->setRBraceLoc(Reader.ReadSourceLocation(ModuleFile, Record, Idx));
3851 if (Record[Idx++]) {
3853 Reader.ReadAttributes(F, Attrs, Record, Idx);
3862 auto *Del = Reader.ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx);
3873 Reader.readExceptionSpec(ModuleFile, ExceptionStorage, ESI, Record, Idx);
3895 QualType DeducedResultType = Reader.readType(ModuleFile, Record, Idx);
3914 Reader.Context.setManglingNumber(cast<NamedDecl>(D), Record[Idx++]);
3918 Reader.Context.setStaticLocalNumber(cast<VarDecl>(D), Record[Idx++]);
3923 Reader.Context, ReadSourceRange(Record, Idx)));
3927 unsigned SubmoduleID = readSubmoduleID(Record, Idx);
3954 Reader.ReadAttributes(F, Attrs, Record, Idx);