Lines Matching full:record
44 const RecordData &Record; member in clang::ASTDeclReader
72 for (unsigned I = 0, Size = Record[Idx++]; I != Size; ++I) in ReadDeclIDList()
73 IDs.push_back(ReadDeclID(Record, Idx)); in ReadDeclIDList()
199 unsigned RawLocation, const RecordData &Record, unsigned &Idx) in ASTDeclReader() argument
201 RawLocation(RawLocation), Record(Record), Idx(Idx), in ASTDeclReader()
233 const RecordData &Record);
431 GetTypeSourceInfo(Record, Idx); in Visit()
434 DD->DeclInfo = GetTypeSourceInfo(Record, Idx); in Visit()
455 if (Record[Idx++]) { in Visit()
457 CD->NumCtorInitializers = Record[Idx++]; in Visit()
460 Reader.ReadCXXCtorInitializersRef(F, Record, Idx); in Visit()
477 GlobalDeclID SemaDCIDForTemplateParmDecl = ReadDeclID(Record, Idx); in VisitDecl()
478 GlobalDeclID LexicalDCIDForTemplateParmDecl = ReadDeclID(Record, Idx); in VisitDecl()
486 DeclContext *SemaDC = ReadDeclAs<DeclContext>(Record, Idx); in VisitDecl()
487 DeclContext *LexicalDC = ReadDeclAs<DeclContext>(Record, Idx); in VisitDecl()
497 D->setInvalidDecl(Record[Idx++]); in VisitDecl()
498 if (Record[Idx++]) { // hasAttrs in VisitDecl()
500 Reader.ReadAttributes(F, Attrs, Record, Idx); in VisitDecl()
505 D->setImplicit(Record[Idx++]); in VisitDecl()
506 D->Used = Record[Idx++]; in VisitDecl()
507 D->setReferenced(Record[Idx++]); in VisitDecl()
508 D->setTopLevelDeclInObjCContainer(Record[Idx++]); in VisitDecl()
509 D->setAccess((AccessSpecifier)Record[Idx++]); in VisitDecl()
511 D->setModulePrivate(Record[Idx++]); in VisitDecl()
516 if (unsigned SubmoduleID = readSubmoduleID(Record, Idx)) { in VisitDecl()
546 ND->setDeclName(Reader.ReadDeclarationName(F, Record, Idx)); in VisitNamedDecl()
547 AnonymousDeclNumber = Record[Idx++]; in VisitNamedDecl()
552 TD->setLocStart(ReadSourceLocation(Record, Idx)); in VisitTypeDecl()
554 TypeIDForTypeDecl = Reader.getGlobalTypeID(F, Record[Idx++]); in VisitTypeDecl()
561 TypeSourceInfo *TInfo = GetTypeSourceInfo(Record, Idx); in VisitTypedefNameDecl()
562 if (Record[Idx++]) { // isModed in VisitTypedefNameDecl()
563 QualType modedT = Reader.readType(F, Record, Idx); in VisitTypedefNameDecl()
577 if (auto *Template = ReadDeclAs<TypeAliasTemplateDecl>(Record, Idx)) in VisitTypeAliasDecl()
588 TD->IdentifierNamespace = Record[Idx++]; in VisitTagDecl()
589 TD->setTagKind((TagDecl::TagKind)Record[Idx++]); in VisitTagDecl()
591 TD->setCompleteDefinition(Record[Idx++]); in VisitTagDecl()
592 TD->setEmbeddedInDeclarator(Record[Idx++]); in VisitTagDecl()
593 TD->setFreeStanding(Record[Idx++]); in VisitTagDecl()
594 TD->setCompleteDefinitionRequired(Record[Idx++]); in VisitTagDecl()
595 TD->setRBraceLoc(ReadSourceLocation(Record, Idx)); in VisitTagDecl()
597 switch (Record[Idx++]) { in VisitTagDecl()
602 ReadQualifierInfo(*Info, Record, Idx); in VisitTagDecl()
607 NamedDeclForTagDecl = ReadDeclID(Record, Idx); in VisitTagDecl()
608 TypedefNameForLinkage = Reader.GetIdentifierInfo(F, Record, Idx); in VisitTagDecl()
621 if (TypeSourceInfo *TI = Reader.GetTypeSourceInfo(F, Record, Idx)) in VisitEnumDecl()
624 ED->setIntegerType(Reader.readType(F, Record, Idx)); in VisitEnumDecl()
625 ED->setPromotionType(Reader.readType(F, Record, Idx)); in VisitEnumDecl()
626 ED->setNumPositiveBits(Record[Idx++]); in VisitEnumDecl()
627 ED->setNumNegativeBits(Record[Idx++]); in VisitEnumDecl()
628 ED->IsScoped = Record[Idx++]; in VisitEnumDecl()
629 ED->IsScopedUsingClassTag = Record[Idx++]; in VisitEnumDecl()
630 ED->IsFixed = Record[Idx++]; in VisitEnumDecl()
657 if (EnumDecl *InstED = ReadDeclAs<EnumDecl>(Record, Idx)) { in VisitEnumDecl()
658 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++]; in VisitEnumDecl()
659 SourceLocation POI = ReadSourceLocation(Record, Idx); in VisitEnumDecl()
668 RD->setHasFlexibleArrayMember(Record[Idx++]); in VisitRecordDeclImpl()
669 RD->setAnonymousStructOrUnion(Record[Idx++]); in VisitRecordDeclImpl()
670 RD->setHasObjectMember(Record[Idx++]); in VisitRecordDeclImpl()
671 RD->setHasVolatileMember(Record[Idx++]); in VisitRecordDeclImpl()
677 VD->setType(Reader.readType(F, Record, Idx)); in VisitValueDecl()
682 if (Record[Idx++]) in VisitEnumConstantDecl()
684 ECD->setInitVal(Reader.ReadAPSInt(Record, Idx)); in VisitEnumConstantDecl()
690 DD->setInnerLocStart(ReadSourceLocation(Record, Idx)); in VisitDeclaratorDecl()
691 if (Record[Idx++]) { // hasExtInfo in VisitDeclaratorDecl()
694 ReadQualifierInfo(*Info, Record, Idx); in VisitDeclaratorDecl()
703 ReadDeclarationNameLoc(FD->DNLoc, FD->getDeclName(), Record, Idx); in VisitFunctionDecl()
704 FD->IdentifierNamespace = Record[Idx++]; in VisitFunctionDecl()
709 FD->SClass = (StorageClass)Record[Idx++]; in VisitFunctionDecl()
710 FD->IsInline = Record[Idx++]; in VisitFunctionDecl()
711 FD->IsInlineSpecified = Record[Idx++]; in VisitFunctionDecl()
712 FD->IsVirtualAsWritten = Record[Idx++]; in VisitFunctionDecl()
713 FD->IsPure = Record[Idx++]; in VisitFunctionDecl()
714 FD->HasInheritedPrototype = Record[Idx++]; in VisitFunctionDecl()
715 FD->HasWrittenPrototype = Record[Idx++]; in VisitFunctionDecl()
716 FD->IsDeleted = Record[Idx++]; in VisitFunctionDecl()
717 FD->IsTrivial = Record[Idx++]; in VisitFunctionDecl()
718 FD->IsDefaulted = Record[Idx++]; in VisitFunctionDecl()
719 FD->IsExplicitlyDefaulted = Record[Idx++]; in VisitFunctionDecl()
720 FD->HasImplicitReturnZero = Record[Idx++]; in VisitFunctionDecl()
721 FD->IsConstexpr = Record[Idx++]; in VisitFunctionDecl()
722 FD->HasSkippedBody = Record[Idx++]; in VisitFunctionDecl()
723 FD->IsLateTemplateParsed = Record[Idx++]; in VisitFunctionDecl()
724 FD->setCachedLinkage(Linkage(Record[Idx++])); in VisitFunctionDecl()
725 FD->EndRangeLoc = ReadSourceLocation(Record, Idx); in VisitFunctionDecl()
727 switch ((FunctionDecl::TemplatedKind)Record[Idx++]) { in VisitFunctionDecl()
733 FD->setDescribedFunctionTemplate(ReadDeclAs<FunctionTemplateDecl>(Record, in VisitFunctionDecl()
737 FunctionDecl *InstFD = ReadDeclAs<FunctionDecl>(Record, Idx); in VisitFunctionDecl()
738 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++]; in VisitFunctionDecl()
739 SourceLocation POI = ReadSourceLocation(Record, Idx); in VisitFunctionDecl()
746 FunctionTemplateDecl *Template = ReadDeclAs<FunctionTemplateDecl>(Record, in VisitFunctionDecl()
748 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++]; in VisitFunctionDecl()
752 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx, in VisitFunctionDecl()
758 bool HasTemplateArgumentsAsWritten = Record[Idx++]; in VisitFunctionDecl()
760 unsigned NumTemplateArgLocs = Record[Idx++]; in VisitFunctionDecl()
764 Reader.ReadTemplateArgumentLoc(F, Record, Idx)); in VisitFunctionDecl()
766 LAngleLoc = ReadSourceLocation(Record, Idx); in VisitFunctionDecl()
767 RAngleLoc = ReadSourceLocation(Record, Idx); in VisitFunctionDecl()
770 SourceLocation POI = ReadSourceLocation(Record, Idx); in VisitFunctionDecl()
790 = ReadDeclAs<FunctionTemplateDecl>(Record, Idx); in VisitFunctionDecl()
815 unsigned NumTemplates = Record[Idx++]; in VisitFunctionDecl()
817 TemplDecls.addDecl(ReadDeclAs<NamedDecl>(Record, Idx)); in VisitFunctionDecl()
821 unsigned NumArgs = Record[Idx++]; in VisitFunctionDecl()
823 TemplArgs.addArgument(Reader.ReadTemplateArgumentLoc(F, Record, Idx)); in VisitFunctionDecl()
824 TemplArgs.setLAngleLoc(ReadSourceLocation(Record, Idx)); in VisitFunctionDecl()
825 TemplArgs.setRAngleLoc(ReadSourceLocation(Record, Idx)); in VisitFunctionDecl()
836 unsigned NumParams = Record[Idx++]; in VisitFunctionDecl()
840 Params.push_back(ReadDeclAs<ParmVarDecl>(Record, Idx)); in VisitFunctionDecl()
846 if (Record[Idx++]) { in VisitObjCMethodDecl()
851 MD->setSelfDecl(ReadDeclAs<ImplicitParamDecl>(Record, Idx)); in VisitObjCMethodDecl()
852 MD->setCmdDecl(ReadDeclAs<ImplicitParamDecl>(Record, Idx)); in VisitObjCMethodDecl()
854 MD->setInstanceMethod(Record[Idx++]); in VisitObjCMethodDecl()
855 MD->setVariadic(Record[Idx++]); in VisitObjCMethodDecl()
856 MD->setPropertyAccessor(Record[Idx++]); in VisitObjCMethodDecl()
857 MD->setDefined(Record[Idx++]); in VisitObjCMethodDecl()
858 MD->IsOverriding = Record[Idx++]; in VisitObjCMethodDecl()
859 MD->HasSkippedBody = Record[Idx++]; in VisitObjCMethodDecl()
861 MD->IsRedeclaration = Record[Idx++]; in VisitObjCMethodDecl()
862 MD->HasRedeclaration = Record[Idx++]; in VisitObjCMethodDecl()
865 ReadDeclAs<ObjCMethodDecl>(Record, Idx)); in VisitObjCMethodDecl()
867 MD->setDeclImplementation((ObjCMethodDecl::ImplementationControl)Record[Idx++]); in VisitObjCMethodDecl()
868 MD->setObjCDeclQualifier((Decl::ObjCDeclQualifier)Record[Idx++]); in VisitObjCMethodDecl()
869 MD->SetRelatedResultType(Record[Idx++]); in VisitObjCMethodDecl()
870 MD->setReturnType(Reader.readType(F, Record, Idx)); in VisitObjCMethodDecl()
871 MD->setReturnTypeSourceInfo(GetTypeSourceInfo(Record, Idx)); in VisitObjCMethodDecl()
872 MD->DeclEndLoc = ReadSourceLocation(Record, Idx); in VisitObjCMethodDecl()
873 unsigned NumParams = Record[Idx++]; in VisitObjCMethodDecl()
877 Params.push_back(ReadDeclAs<ParmVarDecl>(Record, Idx)); in VisitObjCMethodDecl()
879 MD->SelLocsKind = Record[Idx++]; in VisitObjCMethodDecl()
880 unsigned NumStoredSelLocs = Record[Idx++]; in VisitObjCMethodDecl()
884 SelLocs.push_back(ReadSourceLocation(Record, Idx)); in VisitObjCMethodDecl()
892 D->Variance = Record[Idx++]; in VisitObjCTypeParamDecl()
893 D->Index = Record[Idx++]; in VisitObjCTypeParamDecl()
894 D->VarianceLoc = ReadSourceLocation(Record, Idx); in VisitObjCTypeParamDecl()
895 D->ColonLoc = ReadSourceLocation(Record, Idx); in VisitObjCTypeParamDecl()
900 CD->setAtStartLoc(ReadSourceLocation(Record, Idx)); in VisitObjCContainerDecl()
901 CD->setAtEndRange(ReadSourceRange(Record, Idx)); in VisitObjCContainerDecl()
905 unsigned numParams = Record[Idx++]; in ReadObjCTypeParamList()
912 auto typeParam = ReadDeclAs<ObjCTypeParamDecl>(Record, Idx); in ReadObjCTypeParamList()
919 SourceLocation lAngleLoc = ReadSourceLocation(Record, Idx); in ReadObjCTypeParamList()
920 SourceLocation rAngleLoc = ReadSourceLocation(Record, Idx); in ReadObjCTypeParamList()
929 TypeIDForTypeDecl = Reader.getGlobalTypeID(F, Record[Idx++]); in VisitObjCInterfaceDecl()
933 if (Record[Idx++]) { in VisitObjCInterfaceDecl()
944 Data.SuperClassTInfo = GetTypeSourceInfo(Record, Idx); in VisitObjCInterfaceDecl()
946 Data.EndLoc = ReadSourceLocation(Record, Idx); in VisitObjCInterfaceDecl()
947 Data.HasDesignatedInitializers = Record[Idx++]; in VisitObjCInterfaceDecl()
950 unsigned NumProtocols = Record[Idx++]; in VisitObjCInterfaceDecl()
954 Protocols.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx)); in VisitObjCInterfaceDecl()
958 ProtoLocs.push_back(ReadSourceLocation(Record, Idx)); in VisitObjCInterfaceDecl()
963 NumProtocols = Record[Idx++]; in VisitObjCInterfaceDecl()
967 Protocols.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx)); in VisitObjCInterfaceDecl()
986 IVD->setAccessControl((ObjCIvarDecl::AccessControl)Record[Idx++]); in VisitObjCIvarDecl()
989 bool synth = Record[Idx++]; in VisitObjCIvarDecl()
998 if (Record[Idx++]) { in VisitObjCProtocolDecl()
1006 unsigned NumProtoRefs = Record[Idx++]; in VisitObjCProtocolDecl()
1010 ProtoRefs.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx)); in VisitObjCProtocolDecl()
1014 ProtoLocs.push_back(ReadSourceLocation(Record, Idx)); in VisitObjCProtocolDecl()
1031 CD->setCategoryNameLoc(ReadSourceLocation(Record, Idx)); in VisitObjCCategoryDecl()
1032 CD->setIvarLBraceLoc(ReadSourceLocation(Record, Idx)); in VisitObjCCategoryDecl()
1033 CD->setIvarRBraceLoc(ReadSourceLocation(Record, Idx)); in VisitObjCCategoryDecl()
1040 CD->ClassInterface = ReadDeclAs<ObjCInterfaceDecl>(Record, Idx); in VisitObjCCategoryDecl()
1042 unsigned NumProtoRefs = Record[Idx++]; in VisitObjCCategoryDecl()
1046 ProtoRefs.push_back(ReadDeclAs<ObjCProtocolDecl>(Record, Idx)); in VisitObjCCategoryDecl()
1050 ProtoLocs.push_back(ReadSourceLocation(Record, Idx)); in VisitObjCCategoryDecl()
1057 CAD->setClassInterface(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx)); in VisitObjCCompatibleAliasDecl()
1062 D->setAtLoc(ReadSourceLocation(Record, Idx)); in VisitObjCPropertyDecl()
1063 D->setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitObjCPropertyDecl()
1064 QualType T = Reader.readType(F, Record, Idx); in VisitObjCPropertyDecl()
1065 TypeSourceInfo *TSI = GetTypeSourceInfo(Record, Idx); in VisitObjCPropertyDecl()
1068 (ObjCPropertyDecl::PropertyAttributeKind)Record[Idx++]); in VisitObjCPropertyDecl()
1070 (ObjCPropertyDecl::PropertyAttributeKind)Record[Idx++]); in VisitObjCPropertyDecl()
1072 (ObjCPropertyDecl::PropertyControl)Record[Idx++]); in VisitObjCPropertyDecl()
1073 D->setGetterName(Reader.ReadDeclarationName(F,Record, Idx).getObjCSelector()); in VisitObjCPropertyDecl()
1074 D->setSetterName(Reader.ReadDeclarationName(F,Record, Idx).getObjCSelector()); in VisitObjCPropertyDecl()
1075 D->setGetterMethodDecl(ReadDeclAs<ObjCMethodDecl>(Record, Idx)); in VisitObjCPropertyDecl()
1076 D->setSetterMethodDecl(ReadDeclAs<ObjCMethodDecl>(Record, Idx)); in VisitObjCPropertyDecl()
1077 D->setPropertyIvarDecl(ReadDeclAs<ObjCIvarDecl>(Record, Idx)); in VisitObjCPropertyDecl()
1082 D->setClassInterface(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx)); in VisitObjCImplDecl()
1087 D->setIdentifier(Reader.GetIdentifierInfo(F, Record, Idx)); in VisitObjCCategoryImplDecl()
1088 D->CategoryNameLoc = ReadSourceLocation(Record, Idx); in VisitObjCCategoryImplDecl()
1093 D->setSuperClass(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx)); in VisitObjCImplementationDecl()
1094 D->SuperLoc = ReadSourceLocation(Record, Idx); in VisitObjCImplementationDecl()
1095 D->setIvarLBraceLoc(ReadSourceLocation(Record, Idx)); in VisitObjCImplementationDecl()
1096 D->setIvarRBraceLoc(ReadSourceLocation(Record, Idx)); in VisitObjCImplementationDecl()
1097 D->setHasNonZeroConstructors(Record[Idx++]); in VisitObjCImplementationDecl()
1098 D->setHasDestructors(Record[Idx++]); in VisitObjCImplementationDecl()
1099 D->NumIvarInitializers = Record[Idx++]; in VisitObjCImplementationDecl()
1101 D->IvarInitializers = Reader.ReadCXXCtorInitializersRef(F, Record, Idx); in VisitObjCImplementationDecl()
1106 D->setAtLoc(ReadSourceLocation(Record, Idx)); in VisitObjCPropertyImplDecl()
1107 D->setPropertyDecl(ReadDeclAs<ObjCPropertyDecl>(Record, Idx)); in VisitObjCPropertyImplDecl()
1108 D->PropertyIvarDecl = ReadDeclAs<ObjCIvarDecl>(Record, Idx); in VisitObjCPropertyImplDecl()
1109 D->IvarLoc = ReadSourceLocation(Record, Idx); in VisitObjCPropertyImplDecl()
1116 FD->Mutable = Record[Idx++]; in VisitFieldDecl()
1117 if (int BitWidthOrInitializer = Record[Idx++]) { in VisitFieldDecl()
1123 Reader.readType(F, Record, Idx).getAsOpaquePtr()); in VisitFieldDecl()
1129 if (FieldDecl *Tmpl = ReadDeclAs<FieldDecl>(Record, Idx)) in VisitFieldDecl()
1137 PD->GetterId = Reader.GetIdentifierInfo(F, Record, Idx); in VisitMSPropertyDecl()
1138 PD->SetterId = Reader.GetIdentifierInfo(F, Record, Idx); in VisitMSPropertyDecl()
1144 FD->ChainingSize = Record[Idx++]; in VisitIndirectFieldDecl()
1149 FD->Chaining[I] = ReadDeclAs<NamedDecl>(Record, Idx); in VisitIndirectFieldDecl()
1158 VD->VarDeclBits.SClass = (StorageClass)Record[Idx++]; in VisitVarDeclImpl()
1159 VD->VarDeclBits.TSCSpec = Record[Idx++]; in VisitVarDeclImpl()
1160 VD->VarDeclBits.InitStyle = Record[Idx++]; in VisitVarDeclImpl()
1162 VD->NonParmVarDeclBits.ExceptionVar = Record[Idx++]; in VisitVarDeclImpl()
1163 VD->NonParmVarDeclBits.NRVOVariable = Record[Idx++]; in VisitVarDeclImpl()
1164 VD->NonParmVarDeclBits.CXXForRangeDecl = Record[Idx++]; in VisitVarDeclImpl()
1165 VD->NonParmVarDeclBits.ARCPseudoStrong = Record[Idx++]; in VisitVarDeclImpl()
1166 VD->NonParmVarDeclBits.IsConstexpr = Record[Idx++]; in VisitVarDeclImpl()
1167 VD->NonParmVarDeclBits.IsInitCapture = Record[Idx++]; in VisitVarDeclImpl()
1168 VD->NonParmVarDeclBits.PreviousDeclInSameBlockScope = Record[Idx++]; in VisitVarDeclImpl()
1170 Linkage VarLinkage = Linkage(Record[Idx++]); in VisitVarDeclImpl()
1178 if (uint64_t Val = Record[Idx++]) { in VisitVarDeclImpl()
1190 switch ((VarKind)Record[Idx++]) { in VisitVarDeclImpl()
1200 VD->setDescribedVarTemplate(ReadDeclAs<VarTemplateDecl>(Record, Idx)); in VisitVarDeclImpl()
1203 VarDecl *Tmpl = ReadDeclAs<VarDecl>(Record, Idx); in VisitVarDeclImpl()
1204 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++]; in VisitVarDeclImpl()
1205 SourceLocation POI = ReadSourceLocation(Record, Idx); in VisitVarDeclImpl()
1221 unsigned isObjCMethodParam = Record[Idx++]; in VisitParmVarDecl()
1222 unsigned scopeDepth = Record[Idx++]; in VisitParmVarDecl()
1223 unsigned scopeIndex = Record[Idx++]; in VisitParmVarDecl()
1224 unsigned declQualifier = Record[Idx++]; in VisitParmVarDecl()
1232 PD->ParmVarDeclBits.IsKNRPromoted = Record[Idx++]; in VisitParmVarDecl()
1233 PD->ParmVarDeclBits.HasInheritedDefaultArg = Record[Idx++]; in VisitParmVarDecl()
1234 if (Record[Idx++]) // hasUninstantiatedDefaultArg. in VisitParmVarDecl()
1244 AD->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitFileScopeAsmDecl()
1250 BD->setSignatureAsWritten(GetTypeSourceInfo(Record, Idx)); in VisitBlockDecl()
1251 unsigned NumParams = Record[Idx++]; in VisitBlockDecl()
1255 Params.push_back(ReadDeclAs<ParmVarDecl>(Record, Idx)); in VisitBlockDecl()
1258 BD->setIsVariadic(Record[Idx++]); in VisitBlockDecl()
1259 BD->setBlockMissingReturnType(Record[Idx++]); in VisitBlockDecl()
1260 BD->setIsConversionFromLambda(Record[Idx++]); in VisitBlockDecl()
1262 bool capturesCXXThis = Record[Idx++]; in VisitBlockDecl()
1263 unsigned numCaptures = Record[Idx++]; in VisitBlockDecl()
1267 VarDecl *decl = ReadDeclAs<VarDecl>(Record, Idx); in VisitBlockDecl()
1268 unsigned flags = Record[Idx++]; in VisitBlockDecl()
1280 unsigned ContextParamPos = Record[Idx++]; in VisitCapturedDecl()
1281 CD->setNothrow(Record[Idx++] != 0); in VisitCapturedDecl()
1285 CD->setParam(I, ReadDeclAs<ImplicitParamDecl>(Record, Idx)); in VisitCapturedDecl()
1287 CD->setContextParam(I, ReadDeclAs<ImplicitParamDecl>(Record, Idx)); in VisitCapturedDecl()
1293 D->setLanguage((LinkageSpecDecl::LanguageIDs)Record[Idx++]); in VisitLinkageSpecDecl()
1294 D->setExternLoc(ReadSourceLocation(Record, Idx)); in VisitLinkageSpecDecl()
1295 D->setRBraceLoc(ReadSourceLocation(Record, Idx)); in VisitLinkageSpecDecl()
1300 D->setLocStart(ReadSourceLocation(Record, Idx)); in VisitLabelDecl()
1306 D->setInline(Record[Idx++]); in VisitNamespaceDecl()
1307 D->LocStart = ReadSourceLocation(Record, Idx); in VisitNamespaceDecl()
1308 D->RBraceLoc = ReadSourceLocation(Record, Idx); in VisitNamespaceDecl()
1316 AnonNamespace = ReadDeclID(Record, Idx); in VisitNamespaceDecl()
1338 D->NamespaceLoc = ReadSourceLocation(Record, Idx); in VisitNamespaceAliasDecl()
1339 D->IdentLoc = ReadSourceLocation(Record, Idx); in VisitNamespaceAliasDecl()
1340 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx); in VisitNamespaceAliasDecl()
1341 D->Namespace = ReadDeclAs<NamedDecl>(Record, Idx); in VisitNamespaceAliasDecl()
1347 D->setUsingLoc(ReadSourceLocation(Record, Idx)); in VisitUsingDecl()
1348 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx); in VisitUsingDecl()
1349 ReadDeclarationNameLoc(D->DNLoc, D->getDeclName(), Record, Idx); in VisitUsingDecl()
1350 D->FirstUsingShadow.setPointer(ReadDeclAs<UsingShadowDecl>(Record, Idx)); in VisitUsingDecl()
1351 D->setTypename(Record[Idx++]); in VisitUsingDecl()
1352 if (NamedDecl *Pattern = ReadDeclAs<NamedDecl>(Record, Idx)) in VisitUsingDecl()
1360 D->setTargetDecl(ReadDeclAs<NamedDecl>(Record, Idx)); in VisitUsingShadowDecl()
1361 D->UsingOrNextShadow = ReadDeclAs<NamedDecl>(Record, Idx); in VisitUsingShadowDecl()
1362 UsingShadowDecl *Pattern = ReadDeclAs<UsingShadowDecl>(Record, Idx); in VisitUsingShadowDecl()
1370 D->UsingLoc = ReadSourceLocation(Record, Idx); in VisitUsingDirectiveDecl()
1371 D->NamespaceLoc = ReadSourceLocation(Record, Idx); in VisitUsingDirectiveDecl()
1372 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx); in VisitUsingDirectiveDecl()
1373 D->NominatedNamespace = ReadDeclAs<NamedDecl>(Record, Idx); in VisitUsingDirectiveDecl()
1374 D->CommonAncestor = ReadDeclAs<DeclContext>(Record, Idx); in VisitUsingDirectiveDecl()
1379 D->setUsingLoc(ReadSourceLocation(Record, Idx)); in VisitUnresolvedUsingValueDecl()
1380 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx); in VisitUnresolvedUsingValueDecl()
1381 ReadDeclarationNameLoc(D->DNLoc, D->getDeclName(), Record, Idx); in VisitUnresolvedUsingValueDecl()
1388 D->TypenameLocation = ReadSourceLocation(Record, Idx); in VisitUnresolvedUsingTypenameDecl()
1389 D->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx); in VisitUnresolvedUsingTypenameDecl()
1395 const RecordData &Record, unsigned &Idx) { in ReadCXXDefinitionData() argument
1397 Data.UserDeclaredConstructor = Record[Idx++]; in ReadCXXDefinitionData()
1398 Data.UserDeclaredSpecialMembers = Record[Idx++]; in ReadCXXDefinitionData()
1399 Data.Aggregate = Record[Idx++]; in ReadCXXDefinitionData()
1400 Data.PlainOldData = Record[Idx++]; in ReadCXXDefinitionData()
1401 Data.Empty = Record[Idx++]; in ReadCXXDefinitionData()
1402 Data.Polymorphic = Record[Idx++]; in ReadCXXDefinitionData()
1403 Data.Abstract = Record[Idx++]; in ReadCXXDefinitionData()
1404 Data.IsStandardLayout = Record[Idx++]; in ReadCXXDefinitionData()
1405 Data.HasNoNonEmptyBases = Record[Idx++]; in ReadCXXDefinitionData()
1406 Data.HasPrivateFields = Record[Idx++]; in ReadCXXDefinitionData()
1407 Data.HasProtectedFields = Record[Idx++]; in ReadCXXDefinitionData()
1408 Data.HasPublicFields = Record[Idx++]; in ReadCXXDefinitionData()
1409 Data.HasMutableFields = Record[Idx++]; in ReadCXXDefinitionData()
1410 Data.HasVariantMembers = Record[Idx++]; in ReadCXXDefinitionData()
1411 Data.HasOnlyCMembers = Record[Idx++]; in ReadCXXDefinitionData()
1412 Data.HasInClassInitializer = Record[Idx++]; in ReadCXXDefinitionData()
1413 Data.HasUninitializedReferenceMember = Record[Idx++]; in ReadCXXDefinitionData()
1414 Data.NeedOverloadResolutionForMoveConstructor = Record[Idx++]; in ReadCXXDefinitionData()
1415 Data.NeedOverloadResolutionForMoveAssignment = Record[Idx++]; in ReadCXXDefinitionData()
1416 Data.NeedOverloadResolutionForDestructor = Record[Idx++]; in ReadCXXDefinitionData()
1417 Data.DefaultedMoveConstructorIsDeleted = Record[Idx++]; in ReadCXXDefinitionData()
1418 Data.DefaultedMoveAssignmentIsDeleted = Record[Idx++]; in ReadCXXDefinitionData()
1419 Data.DefaultedDestructorIsDeleted = Record[Idx++]; in ReadCXXDefinitionData()
1420 Data.HasTrivialSpecialMembers = Record[Idx++]; in ReadCXXDefinitionData()
1421 Data.DeclaredNonTrivialSpecialMembers = Record[Idx++]; in ReadCXXDefinitionData()
1422 Data.HasIrrelevantDestructor = Record[Idx++]; in ReadCXXDefinitionData()
1423 Data.HasConstexprNonCopyMoveConstructor = Record[Idx++]; in ReadCXXDefinitionData()
1424 Data.DefaultedDefaultConstructorIsConstexpr = Record[Idx++]; in ReadCXXDefinitionData()
1425 Data.HasConstexprDefaultConstructor = Record[Idx++]; in ReadCXXDefinitionData()
1426 Data.HasNonLiteralTypeFieldsOrBases = Record[Idx++]; in ReadCXXDefinitionData()
1427 Data.ComputedVisibleConversions = Record[Idx++]; in ReadCXXDefinitionData()
1428 Data.UserProvidedDefaultConstructor = Record[Idx++]; in ReadCXXDefinitionData()
1429 Data.DeclaredSpecialMembers = Record[Idx++]; in ReadCXXDefinitionData()
1430 Data.ImplicitCopyConstructorHasConstParam = Record[Idx++]; in ReadCXXDefinitionData()
1431 Data.ImplicitCopyAssignmentHasConstParam = Record[Idx++]; in ReadCXXDefinitionData()
1432 Data.HasDeclaredCopyConstructorWithConstParam = Record[Idx++]; in ReadCXXDefinitionData()
1433 Data.HasDeclaredCopyAssignmentWithConstParam = Record[Idx++]; in ReadCXXDefinitionData()
1435 Data.NumBases = Record[Idx++]; in ReadCXXDefinitionData()
1437 Data.Bases = Reader.readCXXBaseSpecifiers(F, Record, Idx); in ReadCXXDefinitionData()
1438 Data.NumVBases = Record[Idx++]; in ReadCXXDefinitionData()
1440 Data.VBases = Reader.readCXXBaseSpecifiers(F, Record, Idx); in ReadCXXDefinitionData()
1442 Reader.ReadUnresolvedSet(F, Data.Conversions, Record, Idx); in ReadCXXDefinitionData()
1443 Reader.ReadUnresolvedSet(F, Data.VisibleConversions, Record, Idx); in ReadCXXDefinitionData()
1445 Data.FirstFriend = ReadDeclID(Record, Idx); in ReadCXXDefinitionData()
1451 Lambda.Dependent = Record[Idx++]; in ReadCXXDefinitionData()
1452 Lambda.IsGenericLambda = Record[Idx++]; in ReadCXXDefinitionData()
1453 Lambda.CaptureDefault = Record[Idx++]; in ReadCXXDefinitionData()
1454 Lambda.NumCaptures = Record[Idx++]; in ReadCXXDefinitionData()
1455 Lambda.NumExplicitCaptures = Record[Idx++]; in ReadCXXDefinitionData()
1456 Lambda.ManglingNumber = Record[Idx++]; in ReadCXXDefinitionData()
1457 Lambda.ContextDecl = ReadDecl(Record, Idx); in ReadCXXDefinitionData()
1461 Lambda.MethodTyInfo = GetTypeSourceInfo(Record, Idx); in ReadCXXDefinitionData()
1463 SourceLocation Loc = ReadSourceLocation(Record, Idx); in ReadCXXDefinitionData()
1464 bool IsImplicit = Record[Idx++]; in ReadCXXDefinitionData()
1465 LambdaCaptureKind Kind = static_cast<LambdaCaptureKind>(Record[Idx++]); in ReadCXXDefinitionData()
1473 VarDecl *Var = ReadDeclAs<VarDecl>(Record, Idx); in ReadCXXDefinitionData()
1474 SourceLocation EllipsisLoc = ReadSourceLocation(Record, Idx); in ReadCXXDefinitionData()
1592 bool IsLambda = Record[Idx++]; in ReadCXXRecordDefinition()
1599 ReadCXXDefinitionData(*DD, Record, Idx); in ReadCXXRecordDefinition()
1601 // We might already have a definition for this record. This can happen either in ReadCXXRecordDefinition()
1602 // because we're reading an update record, or because we've already done some in ReadCXXRecordDefinition()
1615 // If this is not the first declaration or is an update record, we can have in ReadCXXRecordDefinition()
1633 switch ((CXXRecKind)Record[Idx++]) { in VisitCXXRecordDeclImpl()
1641 ClassTemplateDecl *Template = ReadDeclAs<ClassTemplateDecl>(Record, Idx); in VisitCXXRecordDeclImpl()
1655 CXXRecordDecl *RD = ReadDeclAs<CXXRecordDecl>(Record, Idx); in VisitCXXRecordDeclImpl()
1656 TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++]; in VisitCXXRecordDeclImpl()
1657 SourceLocation POI = ReadSourceLocation(Record, Idx); in VisitCXXRecordDeclImpl()
1666 bool WasDefinition = Record[Idx++]; in VisitCXXRecordDeclImpl()
1676 DeclID KeyFn = ReadDeclID(Record, Idx); in VisitCXXRecordDeclImpl()
1680 // record or similar for that case. in VisitCXXRecordDeclImpl()
1690 unsigned NumOverridenMethods = Record[Idx++]; in VisitCXXMethodDecl()
1695 if (CXXMethodDecl *MD = ReadDeclAs<CXXMethodDecl>(Record, Idx)) in VisitCXXMethodDecl()
1708 if (auto *CD = ReadDeclAs<CXXConstructorDecl>(Record, Idx)) in VisitCXXConstructorDecl()
1711 D->IsExplicitSpecified = Record[Idx++]; in VisitCXXConstructorDecl()
1717 if (auto *OperatorDelete = ReadDeclAs<FunctionDecl>(Record, Idx)) { in VisitCXXDestructorDecl()
1727 D->IsExplicitSpecified = Record[Idx++]; in VisitCXXConversionDecl()
1732 D->ImportedAndComplete.setPointer(readModule(Record, Idx)); in VisitImportDecl()
1733 D->ImportedAndComplete.setInt(Record[Idx++]); in VisitImportDecl()
1735 for (unsigned I = 0, N = Record.back(); I != N; ++I) in VisitImportDecl()
1736 StoredLocs[I] = ReadSourceLocation(Record, Idx); in VisitImportDecl()
1742 D->setColonLoc(ReadSourceLocation(Record, Idx)); in VisitAccessSpecDecl()
1747 if (Record[Idx++]) // hasFriendDecl in VisitFriendDecl()
1748 D->Friend = ReadDeclAs<NamedDecl>(Record, Idx); in VisitFriendDecl()
1750 D->Friend = GetTypeSourceInfo(Record, Idx); in VisitFriendDecl()
1752 D->getTPLists()[i] = Reader.ReadTemplateParameterList(F, Record, Idx); in VisitFriendDecl()
1753 D->NextFriend = ReadDeclID(Record, Idx); in VisitFriendDecl()
1754 D->UnsupportedFriend = (Record[Idx++] != 0); in VisitFriendDecl()
1755 D->FriendLoc = ReadSourceLocation(Record, Idx); in VisitFriendDecl()
1760 unsigned NumParams = Record[Idx++]; in VisitFriendTemplateDecl()
1764 D->Params[i] = Reader.ReadTemplateParameterList(F, Record, Idx); in VisitFriendTemplateDecl()
1765 if (Record[Idx++]) // HasFriendDecl in VisitFriendTemplateDecl()
1766 D->Friend = ReadDeclAs<NamedDecl>(Record, Idx); in VisitFriendTemplateDecl()
1768 D->Friend = GetTypeSourceInfo(Record, Idx); in VisitFriendTemplateDecl()
1769 D->FriendLoc = ReadSourceLocation(Record, Idx); in VisitFriendTemplateDecl()
1775 DeclID PatternID = ReadDeclID(Record, Idx); in VisitTemplateDecl()
1778 = Reader.ReadTemplateParameterList(F, Record, Idx); in VisitTemplateDecl()
1801 = ReadDeclAs<RedeclarableTemplateDecl>(Record, Idx)) { in VisitRedeclarableTemplateDecl()
1805 if (Record[Idx++]) in VisitRedeclarableTemplateDecl()
1811 D->IdentifierNamespace = Record[Idx++]; in VisitRedeclarableTemplateDecl()
1893 if (Decl *InstD = ReadDecl(Record, Idx)) { in VisitClassTemplateSpecializationDeclImpl()
1898 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx); in VisitClassTemplateSpecializationDeclImpl()
1913 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx, in VisitClassTemplateSpecializationDeclImpl()
1917 D->PointOfInstantiation = ReadSourceLocation(Record, Idx); in VisitClassTemplateSpecializationDeclImpl()
1918 D->SpecializationKind = (TemplateSpecializationKind)Record[Idx++]; in VisitClassTemplateSpecializationDeclImpl()
1920 bool writtenAsCanonicalDecl = Record[Idx++]; in VisitClassTemplateSpecializationDeclImpl()
1922 ClassTemplateDecl *CanonPattern = ReadDeclAs<ClassTemplateDecl>(Record,Idx); in VisitClassTemplateSpecializationDeclImpl()
1952 if (TypeSourceInfo *TyInfo = GetTypeSourceInfo(Record, Idx)) { in VisitClassTemplateSpecializationDeclImpl()
1956 ExplicitInfo->ExternLoc = ReadSourceLocation(Record, Idx); in VisitClassTemplateSpecializationDeclImpl()
1957 ExplicitInfo->TemplateKeywordLoc = ReadSourceLocation(Record, Idx); in VisitClassTemplateSpecializationDeclImpl()
1968 D->TemplateParams = Reader.ReadTemplateParameterList(F, Record, Idx); in VisitClassTemplatePartialSpecializationDecl()
1969 D->ArgsAsWritten = Reader.ReadASTTemplateArgumentListInfo(F, Record, Idx); in VisitClassTemplatePartialSpecializationDecl()
1974 ReadDeclAs<ClassTemplatePartialSpecializationDecl>(Record, Idx)); in VisitClassTemplatePartialSpecializationDecl()
1975 D->InstantiatedFromMember.setInt(Record[Idx++]); in VisitClassTemplatePartialSpecializationDecl()
1982 D->Specialization = ReadDeclAs<CXXMethodDecl>(Record, Idx); in VisitClassScopeFunctionSpecializationDecl()
2012 if (Decl *InstD = ReadDecl(Record, Idx)) { in VisitVarTemplateSpecializationDeclImpl()
2017 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx); in VisitVarTemplateSpecializationDeclImpl()
2031 if (TypeSourceInfo *TyInfo = GetTypeSourceInfo(Record, Idx)) { in VisitVarTemplateSpecializationDeclImpl()
2035 ExplicitInfo->ExternLoc = ReadSourceLocation(Record, Idx); in VisitVarTemplateSpecializationDeclImpl()
2036 ExplicitInfo->TemplateKeywordLoc = ReadSourceLocation(Record, Idx); in VisitVarTemplateSpecializationDeclImpl()
2041 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx, in VisitVarTemplateSpecializationDeclImpl()
2045 D->PointOfInstantiation = ReadSourceLocation(Record, Idx); in VisitVarTemplateSpecializationDeclImpl()
2046 D->SpecializationKind = (TemplateSpecializationKind)Record[Idx++]; in VisitVarTemplateSpecializationDeclImpl()
2048 bool writtenAsCanonicalDecl = Record[Idx++]; in VisitVarTemplateSpecializationDeclImpl()
2050 VarTemplateDecl *CanonPattern = ReadDeclAs<VarTemplateDecl>(Record, Idx); in VisitVarTemplateSpecializationDeclImpl()
2075 D->TemplateParams = Reader.ReadTemplateParameterList(F, Record, Idx); in VisitVarTemplatePartialSpecializationDecl()
2076 D->ArgsAsWritten = Reader.ReadASTTemplateArgumentListInfo(F, Record, Idx); in VisitVarTemplatePartialSpecializationDecl()
2081 ReadDeclAs<VarTemplatePartialSpecializationDecl>(Record, Idx)); in VisitVarTemplatePartialSpecializationDecl()
2082 D->InstantiatedFromMember.setInt(Record[Idx++]); in VisitVarTemplatePartialSpecializationDecl()
2089 D->setDeclaredWithTypename(Record[Idx++]); in VisitTemplateTypeParmDecl()
2091 if (Record[Idx++]) in VisitTemplateTypeParmDecl()
2092 D->setDefaultArgument(GetTypeSourceInfo(Record, Idx)); in VisitTemplateTypeParmDecl()
2098 D->setDepth(Record[Idx++]); in VisitNonTypeTemplateParmDecl()
2099 D->setPosition(Record[Idx++]); in VisitNonTypeTemplateParmDecl()
2103 Data[2*I] = Reader.readType(F, Record, Idx).getAsOpaquePtr(); in VisitNonTypeTemplateParmDecl()
2104 Data[2*I + 1] = GetTypeSourceInfo(Record, Idx); in VisitNonTypeTemplateParmDecl()
2108 D->ParameterPack = Record[Idx++]; in VisitNonTypeTemplateParmDecl()
2109 if (Record[Idx++]) in VisitNonTypeTemplateParmDecl()
2117 D->setDepth(Record[Idx++]); in VisitTemplateTemplateParmDecl()
2118 D->setPosition(Record[Idx++]); in VisitTemplateTemplateParmDecl()
2123 Data[I] = Reader.ReadTemplateParameterList(F, Record, Idx); in VisitTemplateTemplateParmDecl()
2126 D->ParameterPack = Record[Idx++]; in VisitTemplateTemplateParmDecl()
2127 if (Record[Idx++]) in VisitTemplateTemplateParmDecl()
2129 Reader.ReadTemplateArgumentLoc(F, Record, Idx)); in VisitTemplateTemplateParmDecl()
2140 D->AssertExprAndFailed.setInt(Record[Idx++]); in VisitStaticAssertDecl()
2142 D->RParenLoc = ReadSourceLocation(Record, Idx); in VisitStaticAssertDecl()
2151 uint64_t LexicalOffset = Record[Idx++]; in VisitDeclContext()
2152 uint64_t VisibleOffset = Record[Idx++]; in VisitDeclContext()
2159 DeclID FirstDeclID = ReadDeclID(Record, Idx); in VisitRedeclarable()
2173 } else if (unsigned N = Record[Idx++]) { in VisitRedeclarable()
2185 MergeWith = ReadDecl(Record, Idx/*, MergeWith*/); in VisitRedeclarable()
2187 RedeclOffset = Record[Idx++]; in VisitRedeclarable()
2191 (void)ReadDecl(Record, Idx); in VisitRedeclarable()
2366 const RecordData &Record, unsigned &Idx) { in ReadAttributes() argument
2367 for (unsigned i = 0, e = Record[Idx++]; i != e; ++i) { in ReadAttributes()
2369 attr::Kind Kind = (attr::Kind)Record[Idx++]; in ReadAttributes()
2370 SourceRange Range = ReadSourceRange(F, Record, Idx); in ReadAttributes()
2681 // record, but we've not yet loaded that update record. In this case, we in getPrimaryContextForMerging()
2683 // we load the update record. in getPrimaryContextForMerging()
2711 // Record that we had a typedef name for linkage whether or not we merge in ~FindExistingResult()
3102 // Note that we are loading a declaration record. in ReadDeclRecord()
3106 RecordData Record; in ReadDeclRecord() local
3109 ASTDeclReader Reader(*this, *Loc.F, ID, RawLocation, Record,Idx); in ReadDeclRecord()
3112 switch ((DeclCode)DeclsCursor.readRecord(Code, Record)) { in ReadDeclRecord()
3115 llvm_unreachable("Record cannot be de-serialized with ReadDeclRecord"); in ReadDeclRecord()
3180 D = FriendDecl::CreateDeserialized(Context, ID, Record[Idx++]); in ReadDeclRecord()
3216 D = NonTypeTemplateParmDecl::CreateDeserialized(Context, ID, Record[Idx++]); in ReadDeclRecord()
3223 Record[Idx++]); in ReadDeclRecord()
3289 D = CapturedDecl::CreateDeserialized(Context, ID, Record[Idx++]); in ReadDeclRecord()
3292 Error("attempt to read a C++ base-specifier record as a declaration"); in ReadDeclRecord()
3295 Error("attempt to read a C++ ctor initializer record as a declaration"); in ReadDeclRecord()
3298 // Note: last entry of the ImportDecl record is the number of stored source in ReadDeclRecord()
3300 D = ImportDecl::CreateDeserialized(Context, ID, Record.back()); in ReadDeclRecord()
3303 D = OMPThreadPrivateDecl::CreateDeserialized(Context, ID, Record[Idx++]); in ReadDeclRecord()
3332 assert(Idx == Record.size()); in ReadDeclRecord()
3368 // If this is the case, read the record containing the updates from each file in loadDeclUpdateRecords()
3382 RecordData Record; in loadDeclUpdateRecords() local
3384 unsigned RecCode = Cursor.readRecord(Code, Record); in loadDeclUpdateRecords()
3386 assert(RecCode == DECL_UPDATES && "Expected DECL_UPDATES record!"); in loadDeclUpdateRecords()
3389 ASTDeclReader Reader(*this, *F, ID, 0, Record, Idx); in loadDeclUpdateRecords()
3390 Reader.UpdateDecl(D, *F, Record); in loadDeclUpdateRecords()
3426 RecordData Record; in loadPendingDeclChain() local
3428 unsigned RecCode = Cursor.readRecord(Code, Record); in loadPendingDeclChain()
3430 assert(RecCode == LOCAL_REDECLARATIONS && "expected LOCAL_REDECLARATIONS record!"); in loadPendingDeclChain()
3435 for (unsigned I = 0, N = Record.size(); I != N; ++I) { in loadPendingDeclChain()
3436 auto *D = GetLocalDecl(*M, Record[N - I - 1]); in loadPendingDeclChain()
3481 // Record this category. in add()
3584 const RecordData &Record) { in UpdateDecl() argument
3585 while (Idx < Record.size()) { in UpdateDecl()
3586 switch ((DeclUpdateKind)Record[Idx++]) { in UpdateDecl()
3589 // FIXME: If we also have an update record for instantiating the in UpdateDecl()
3591 Decl *MD = Reader.ReadDecl(ModuleFile, Record, Idx); in UpdateDecl()
3592 assert(MD && "couldn't read decl from update record"); in UpdateDecl()
3601 (void)Reader.ReadDecl(ModuleFile, Record, Idx); in UpdateDecl()
3606 = Reader.ReadDeclAs<NamespaceDecl>(ModuleFile, Record, Idx); in UpdateDecl()
3623 Reader.ReadSourceLocation(ModuleFile, Record, Idx)); in UpdateDecl()
3630 // It's safe to stop now because this update record is always last. in UpdateDecl()
3634 if (Record[Idx++]) { in UpdateDecl()
3642 FD->setInnerLocStart(Reader.ReadSourceLocation(ModuleFile, Record, Idx)); in UpdateDecl()
3644 CD->NumCtorInitializers = Record[Idx++]; in UpdateDecl()
3647 Reader.ReadCXXCtorInitializersRef(F, Record, Idx); in UpdateDecl()
3652 assert(Idx == Record.size() && "lazy body must be last"); in UpdateDecl()
3665 uint64_t LexicalOffset = Record[Idx++]; in UpdateDecl()
3672 auto TSK = (TemplateSpecializationKind)Record[Idx++]; in UpdateDecl()
3673 SourceLocation POI = Reader.ReadSourceLocation(ModuleFile, Record, Idx); in UpdateDecl()
3684 if (Record[Idx++]) { in UpdateDecl()
3686 ReadDeclAs<ClassTemplatePartialSpecializationDecl>(Record, Idx); in UpdateDecl()
3688 Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx); in UpdateDecl()
3700 RD->setTagKind((TagTypeKind)Record[Idx++]); in UpdateDecl()
3701 RD->setLocation(Reader.ReadSourceLocation(ModuleFile, Record, Idx)); in UpdateDecl()
3702 RD->setLocStart(Reader.ReadSourceLocation(ModuleFile, Record, Idx)); in UpdateDecl()
3703 RD->setRBraceLoc(Reader.ReadSourceLocation(ModuleFile, Record, Idx)); in UpdateDecl()
3705 if (Record[Idx++]) { in UpdateDecl()
3707 Reader.ReadAttributes(F, Attrs, Record, Idx); in UpdateDecl()
3715 // record. in UpdateDecl()
3716 auto *Del = Reader.ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx); in UpdateDecl()
3727 Reader.readExceptionSpec(ModuleFile, ExceptionStorage, ESI, Record, Idx); in UpdateDecl()
3749 QualType DeducedResultType = Reader.readType(ModuleFile, Record, Idx); in UpdateDecl()
3768 Reader.Context.setManglingNumber(cast<NamedDecl>(D), Record[Idx++]); in UpdateDecl()
3772 Reader.Context.setStaticLocalNumber(cast<VarDecl>(D), Record[Idx++]); in UpdateDecl()
3777 Reader.Context, ReadSourceRange(Record, Idx))); in UpdateDecl()
3781 unsigned SubmoduleID = readSubmoduleID(Record, Idx); in UpdateDecl()
3807 Reader.ReadAttributes(F, Attrs, Record, Idx); in UpdateDecl()