Lines Matching defs:Idx

1017   unsigned Idx = 0;
1022 for (int I = 0, N = Record[Idx++]; I != N; ++I) {
1024 unsigned FilenameLen = Record[Idx++];
1025 std::string Filename(&Record[Idx], &Record[Idx] + FilenameLen);
1026 Idx += FilenameLen;
1033 while (Idx < Record.size()) {
1034 int FID = Record[Idx++];
1040 unsigned NumEntries = Record[Idx++];
1045 unsigned FileOffset = Record[Idx++];
1046 unsigned LineNo = Record[Idx++];
1047 int FilenameID = FileIDs[Record[Idx++]];
1049 = (SrcMgr::CharacteristicKind)Record[Idx++];
1050 unsigned IncludeOffset = Record[Idx++];
1334 unsigned &Idx) {
1337 Tok.setLocation(ReadSourceLocation(F, Record, Idx));
1338 Tok.setLength(Record[Idx++]);
1339 if (IdentifierInfo *II = getLocalIdentifier(F, Record[Idx++]))
1341 Tok.setKind((tok::TokenKind)Record[Idx++]);
1342 Tok.setFlag((Token::TokenFlags)Record[Idx++]);
1447 unsigned Idx = 0;
1448 Token Tok = ReadToken(F, Record, Idx);
1822 unsigned Idx = 0, N = Record.size();
1823 while (Idx < N) {
1825 SourceLocation Loc = ReadSourceLocation(M, Record, Idx);
1826 MacroDirective::Kind K = (MacroDirective::Kind)Record[Idx++];
1829 GlobalMacroID GMacID = getGlobalMacroID(M, Record[Idx++]);
1831 bool isImported = Record[Idx++];
1832 bool isAmbiguous = Record[Idx++];
1843 bool isPublic = Record[Idx++];
2340 unsigned Idx = 0, N = Record.size();
2341 while (Idx < N) {
2343 ModuleKind ImportedKind = (ModuleKind)Record[Idx++];
2348 SourceLocation::getFromRawEncoding(Record[Idx++]);
2349 off_t StoredSize = (off_t)Record[Idx++];
2350 time_t StoredModTime = (time_t)Record[Idx++];
2351 unsigned Length = Record[Idx++];
2352 SmallString<128> ImportedFile(Record.begin() + Idx,
2353 Record.begin() + Idx + Length);
2354 Idx += Length;
2678 unsigned Idx = 0;
2679 serialization::DeclID ID = ReadDeclID(F, Record, Idx);
2682 (const unsigned char *)Blob.data() + Record[Idx++],
2844 for (unsigned Idx = 0, N = Record.size() - 1; Idx < N; /* in loop */) {
2846 Record[Idx++]));
2847 ReferencedSelectorsData.push_back(ReadSourceLocation(F, Record, Idx).
3009 for (unsigned Idx = 0, N = Record.size(); Idx != N; /* In loop */) {
3010 VTableUses.push_back(getGlobalDeclID(F, Record[Idx++]));
3012 ReadSourceLocation(F, Record, Idx).getRawEncoding());
3013 VTableUses.push_back(Record[Idx++]);
3240 for (unsigned Idx = 0; Idx < Record.size(); /* increment in loop */) {
3241 GlobalDeclID CanonID = getGlobalDeclID(F, Record[Idx++]);
3243 for (unsigned N = Record[Idx++]; N > 0; --N)
3244 Decls.push_back(getGlobalDeclID(F, Record[Idx++]));
4238 unsigned Idx = 0;
4239 SubmoduleID GlobalID = getGlobalSubmoduleID(F, Record[Idx++]);
4240 SubmoduleID Parent = getGlobalSubmoduleID(F, Record[Idx++]);
4241 bool IsFramework = Record[Idx++];
4242 bool IsExplicit = Record[Idx++];
4243 bool IsSystem = Record[Idx++];
4244 bool IsExternC = Record[Idx++];
4245 bool InferSubmodules = Record[Idx++];
4246 bool InferExplicitSubmodules = Record[Idx++];
4247 bool InferExportWildcard = Record[Idx++];
4248 bool ConfigMacrosExhaustive = Record[Idx++];
4444 for (unsigned Idx = 0; Idx != Record.size(); ++Idx) {
4448 Unresolved.ID = Record[Idx];
4465 for (unsigned Idx = 0; Idx + 1 < Record.size(); Idx += 2) {
4469 Unresolved.ID = Record[Idx];
4471 Unresolved.IsWildcard = Record[Idx + 1];
4553 unsigned Idx = 0;
4555 LangOpts.Name = Record[Idx++];
4557 LangOpts.set##Name(static_cast<LangOptions::Type>(Record[Idx++]));
4559 #define SANITIZER(NAME, ID) LangOpts.Sanitize.ID = Record[Idx++];
4562 ObjCRuntime::Kind runtimeKind = (ObjCRuntime::Kind) Record[Idx++];
4563 VersionTuple runtimeVersion = ReadVersionTuple(Record, Idx);
4566 unsigned Length = Record[Idx++];
4567 LangOpts.CurrentModule.assign(Record.begin() + Idx,
4568 Record.begin() + Idx + Length);
4570 Idx += Length;
4573 for (unsigned N = Record[Idx++]; N; --N) {
4575 ReadString(Record, Idx));
4577 LangOpts.CommentOpts.ParseAllComments = Record[Idx++];
4585 unsigned Idx = 0;
4587 TargetOpts.Triple = ReadString(Record, Idx);
4588 TargetOpts.CPU = ReadString(Record, Idx);
4589 TargetOpts.ABI = ReadString(Record, Idx);
4590 for (unsigned N = Record[Idx++]; N; --N) {
4591 TargetOpts.FeaturesAsWritten.push_back(ReadString(Record, Idx));
4593 for (unsigned N = Record[Idx++]; N; --N) {
4594 TargetOpts.Features.push_back(ReadString(Record, Idx));
4603 unsigned Idx = 0;
4604 #define DIAGOPT(Name, Bits, Default) DiagOpts->Name = Record[Idx++];
4606 DiagOpts->set##Name(static_cast<Type>(Record[Idx++]));
4609 for (unsigned N = Record[Idx++]; N; --N) {
4610 DiagOpts->Warnings.push_back(ReadString(Record, Idx));
4619 unsigned Idx = 0;
4620 FSOpts.WorkingDir = ReadString(Record, Idx);
4628 unsigned Idx = 0;
4629 HSOpts.Sysroot = ReadString(Record, Idx);
4632 for (unsigned N = Record[Idx++]; N; --N) {
4633 std::string Path = ReadString(Record, Idx);
4635 = static_cast<frontend::IncludeDirGroup>(Record[Idx++]);
4636 bool IsFramework = Record[Idx++];
4637 bool IgnoreSysRoot = Record[Idx++];
4643 for (unsigned N = Record[Idx++]; N; --N) {
4644 std::string Prefix = ReadString(Record, Idx);
4645 bool IsSystemHeader = Record[Idx++];
4650 HSOpts.ResourceDir = ReadString(Record, Idx);
4651 HSOpts.ModuleCachePath = ReadString(Record, Idx);
4652 HSOpts.ModuleUserBuildPath = ReadString(Record, Idx);
4653 HSOpts.DisableModuleHash = Record[Idx++];
4654 HSOpts.UseBuiltinIncludes = Record[Idx++];
4655 HSOpts.UseStandardSystemIncludes = Record[Idx++];
4656 HSOpts.UseStandardCXXIncludes = Record[Idx++];
4657 HSOpts.UseLibcxx = Record[Idx++];
4667 unsigned Idx = 0;
4670 for (unsigned N = Record[Idx++]; N; --N) {
4671 std::string Macro = ReadString(Record, Idx);
4672 bool IsUndef = Record[Idx++];
4677 for (unsigned N = Record[Idx++]; N; --N) {
4678 PPOpts.Includes.push_back(ReadString(Record, Idx));
4682 for (unsigned N = Record[Idx++]; N; --N) {
4683 PPOpts.MacroIncludes.push_back(ReadString(Record, Idx));
4686 PPOpts.UsePredefines = Record[Idx++];
4687 PPOpts.DetailedRecord = Record[Idx++];
4688 PPOpts.ImplicitPCHInclude = ReadString(Record, Idx);
4689 PPOpts.ImplicitPTHInclude = ReadString(Record, Idx);
4691 static_cast<ObjCXXARCStandardLibraryKind>(Record[Idx++]);
4995 unsigned Idx = 0;
4999 while (Idx < F.PragmaDiagMappings.size()) {
5000 SourceLocation Loc = ReadSourceLocation(F, F.PragmaDiagMappings[Idx++]);
5001 unsigned DiagStateID = F.PragmaDiagMappings[Idx++];
5018 assert(Idx < F.PragmaDiagMappings.size() &&
5020 if (Idx >= F.PragmaDiagMappings.size()) {
5024 unsigned DiagID = F.PragmaDiagMappings[Idx++];
5028 diag::Severity Map = (diag::Severity)F.PragmaDiagMappings[Idx++];
5063 unsigned Idx = 0;
5073 QualType Base = readType(*Loc.F, Record, Idx);
5074 Qualifiers Quals = Qualifiers::fromOpaqueValue(Record[Idx++]);
5083 QualType ElemType = readType(*Loc.F, Record, Idx);
5092 QualType PointeeType = readType(*Loc.F, Record, Idx);
5101 QualType OriginalType = readType(*Loc.F, Record, Idx);
5113 QualType OriginalTy = readType(*Loc.F, Record, Idx);
5114 QualType AdjustedTy = readType(*Loc.F, Record, Idx);
5123 QualType PointeeType = readType(*Loc.F, Record, Idx);
5132 QualType PointeeType = readType(*Loc.F, Record, Idx);
5141 QualType PointeeType = readType(*Loc.F, Record, Idx);
5150 QualType PointeeType = readType(*Loc.F, Record, Idx);
5151 QualType ClassType = readType(*Loc.F, Record, Idx);
5159 QualType ElementType = readType(*Loc.F, Record, Idx);
5162 unsigned Idx = 3;
5163 llvm::APInt Size = ReadAPInt(Record, Idx);
5169 QualType ElementType = readType(*Loc.F, Record, Idx);
5176 QualType ElementType = readType(*Loc.F, Record, Idx);
5192 QualType ElementType = readType(*Loc.F, Record, Idx);
5205 QualType ElementType = readType(*Loc.F, Record, Idx);
5215 QualType ResultType = readType(*Loc.F, Record, Idx);
5222 QualType ResultType = readType(*Loc.F, Record, Idx);
5231 unsigned Idx = 6;
5232 unsigned NumParams = Record[Idx++];
5235 ParamTypes.push_back(readType(*Loc.F, Record, Idx));
5237 EPI.Variadic = Record[Idx++];
5238 EPI.HasTrailingReturn = Record[Idx++];
5239 EPI.TypeQuals = Record[Idx++];
5240 EPI.RefQualifier = static_cast<RefQualifierKind>(Record[Idx++]);
5242 readExceptionSpec(*Loc.F, ExceptionStorage, EPI, Record, Idx);
5247 unsigned Idx = 0;
5249 ReadDeclAs<UnresolvedUsingTypenameDecl>(*Loc.F, Record, Idx));
5257 unsigned Idx = 0;
5258 TypedefNameDecl *Decl = ReadDeclAs<TypedefNameDecl>(*Loc.F, Record, Idx);
5259 QualType Canonical = readType(*Loc.F, Record, Idx);
5273 QualType UnderlyingType = readType(*Loc.F, Record, Idx);
5278 QualType UnderlyingType = readType(*Loc.F, Record, Idx);
5283 QualType BaseType = readType(*Loc.F, Record, Idx);
5284 QualType UnderlyingType = readType(*Loc.F, Record, Idx);
5290 QualType Deduced = readType(*Loc.F, Record, Idx);
5291 bool IsDecltypeAuto = Record[Idx++];
5292 bool IsDependent = Deduced.isNull() ? Record[Idx++] : false;
5301 unsigned Idx = 0;
5302 bool IsDependent = Record[Idx++];
5303 RecordDecl *RD = ReadDeclAs<RecordDecl>(*Loc.F, Record, Idx);
5315 unsigned Idx = 0;
5316 bool IsDependent = Record[Idx++];
5318 = Context.getEnumType(ReadDeclAs<EnumDecl>(*Loc.F, Record, Idx));
5328 QualType modifiedType = readType(*Loc.F, Record, Idx);
5329 QualType equivalentType = readType(*Loc.F, Record, Idx);
5339 QualType InnerType = readType(*Loc.F, Record, Idx);
5348 QualType Pattern = readType(*Loc.F, Record, Idx);
5358 unsigned Idx = 0;
5359 ElaboratedTypeKeyword Keyword = (ElaboratedTypeKeyword)Record[Idx++];
5360 NestedNameSpecifier *NNS = ReadNestedNameSpecifier(*Loc.F, Record, Idx);
5361 QualType NamedType = readType(*Loc.F, Record, Idx);
5366 unsigned Idx = 0;
5368 = ReadDeclAs<ObjCInterfaceDecl>(*Loc.F, Record, Idx);
5373 unsigned Idx = 0;
5374 QualType Base = readType(*Loc.F, Record, Idx);
5375 unsigned NumProtos = Record[Idx++];
5378 Protos.push_back(ReadDeclAs<ObjCProtocolDecl>(*Loc.F, Record, Idx));
5383 unsigned Idx = 0;
5384 QualType Pointee = readType(*Loc.F, Record, Idx);
5389 unsigned Idx = 0;
5390 QualType Parm = readType(*Loc.F, Record, Idx);
5391 QualType Replacement = readType(*Loc.F, Record, Idx);
5398 unsigned Idx = 0;
5399 QualType Parm = readType(*Loc.F, Record, Idx);
5400 TemplateArgument ArgPack = ReadTemplateArgument(*Loc.F, Record, Idx);
5407 CXXRecordDecl *D = ReadDeclAs<CXXRecordDecl>(*Loc.F, Record, Idx);
5408 QualType TST = readType(*Loc.F, Record, Idx); // probably derivable
5422 unsigned Idx = 0;
5423 unsigned Depth = Record[Idx++];
5424 unsigned Index = Record[Idx++];
5425 bool Pack = Record[Idx++];
5427 = ReadDeclAs<TemplateTypeParmDecl>(*Loc.F, Record, Idx);
5432 unsigned Idx = 0;
5433 ElaboratedTypeKeyword Keyword = (ElaboratedTypeKeyword)Record[Idx++];
5434 NestedNameSpecifier *NNS = ReadNestedNameSpecifier(*Loc.F, Record, Idx);
5435 const IdentifierInfo *Name = this->GetIdentifierInfo(*Loc.F, Record, Idx);
5436 QualType Canon = readType(*Loc.F, Record, Idx);
5443 unsigned Idx = 0;
5444 ElaboratedTypeKeyword Keyword = (ElaboratedTypeKeyword)Record[Idx++];
5445 NestedNameSpecifier *NNS = ReadNestedNameSpecifier(*Loc.F, Record, Idx);
5446 const IdentifierInfo *Name = this->GetIdentifierInfo(*Loc.F, Record, Idx);
5447 unsigned NumArgs = Record[Idx++];
5451 Args.push_back(ReadTemplateArgument(*Loc.F, Record, Idx));
5457 unsigned Idx = 0;
5460 QualType ElementType = readType(*Loc.F, Record, Idx);
5462 = (ArrayType::ArraySizeModifier)Record[Idx++];
5463 unsigned IndexTypeQuals = Record[Idx++];
5467 SourceRange Brackets = ReadSourceRange(*Loc.F, Record, Idx);
5474 unsigned Idx = 0;
5475 bool IsDependent = Record[Idx++];
5476 TemplateName Name = ReadTemplateName(*Loc.F, Record, Idx);
5478 ReadTemplateArgumentList(Args, *Loc.F, Record, Idx);
5479 QualType Underlying = readType(*Loc.F, Record, Idx);
5496 QualType ValueType = readType(*Loc.F, Record, Idx);
5506 const RecordData &Record, unsigned &Idx) {
5508 static_cast<ExceptionSpecificationType>(Record[Idx++]);
5511 EPI.NumExceptions = Record[Idx++];
5513 Exceptions.push_back(readType(ModuleFile, Record, Idx));
5518 EPI.ExceptionSpecDecl = ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx);
5520 ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx);
5522 EPI.ExceptionSpecDecl = ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx);
5530 unsigned &Idx;
5538 T *ReadDeclAs(const ASTReader::RecordData &Record, unsigned &Idx) {
5539 return Reader.ReadDeclAs<T>(F, Record, Idx);
5544 const ASTReader::RecordData &Record, unsigned &Idx)
5545 : Reader(Reader), F(F), Record(Record), Idx(Idx)
5564 TL.setBuiltinLoc(ReadSourceLocation(Record, Idx));
5566 TL.setWrittenTypeSpec(static_cast<DeclSpec::TST>(Record[Idx++]));
5567 TL.setWrittenSignSpec(static_cast<DeclSpec::TSS>(Record[Idx++]));
5568 TL.setWrittenWidthSpec(static_cast<DeclSpec::TSW>(Record[Idx++]));
5569 TL.setModeAttr(Record[Idx++]);
5573 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5576 TL.setStarLoc(ReadSourceLocation(Record, Idx));
5585 TL.setCaretLoc(ReadSourceLocation(Record, Idx));
5588 TL.setAmpLoc(ReadSourceLocation(Record, Idx));
5591 TL.setAmpAmpLoc(ReadSourceLocation(Record, Idx));
5594 TL.setStarLoc(ReadSourceLocation(Record, Idx));
5595 TL.setClassTInfo(Reader.GetTypeSourceInfo(F, Record, Idx));
5598 TL.setLBracketLoc(ReadSourceLocation(Record, Idx));
5599 TL.setRBracketLoc(ReadSourceLocation(Record, Idx));
5600 if (Record[Idx++])
5620 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5623 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5626 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5629 TL.setLocalRangeBegin(ReadSourceLocation(Record, Idx));
5630 TL.setLParenLoc(ReadSourceLocation(Record, Idx));
5631 TL.setRParenLoc(ReadSourceLocation(Record, Idx));
5632 TL.setLocalRangeEnd(ReadSourceLocation(Record, Idx));
5634 TL.setParam(i, ReadDeclAs<ParmVarDecl>(Record, Idx));
5644 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5647 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5650 TL.setTypeofLoc(ReadSourceLocation(Record, Idx));
5651 TL.setLParenLoc(ReadSourceLocation(Record, Idx));
5652 TL.setRParenLoc(ReadSourceLocation(Record, Idx));
5655 TL.setTypeofLoc(ReadSourceLocation(Record, Idx));
5656 TL.setLParenLoc(ReadSourceLocation(Record, Idx));
5657 TL.setRParenLoc(ReadSourceLocation(Record, Idx));
5658 TL.setUnderlyingTInfo(Reader.GetTypeSourceInfo(F, Record, Idx));
5661 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5664 TL.setKWLoc(ReadSourceLocation(Record, Idx));
5665 TL.setLParenLoc(ReadSourceLocation(Record, Idx));
5666 TL.setRParenLoc(ReadSourceLocation(Record, Idx));
5667 TL.setUnderlyingTInfo(Reader.GetTypeSourceInfo(F, Record, Idx));
5670 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5673 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5676 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5679 TL.setAttrNameLoc(ReadSourceLocation(Record, Idx));
5682 range.setBegin(ReadSourceLocation(Record, Idx));
5683 range.setEnd(ReadSourceLocation(Record, Idx));
5687 if (Record[Idx++])
5692 TL.setAttrEnumOperandLoc(ReadSourceLocation(Record, Idx));
5695 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5699 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5703 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5707 TL.setTemplateKeywordLoc(ReadSourceLocation(Record, Idx));
5708 TL.setTemplateNameLoc(ReadSourceLocation(Record, Idx));
5709 TL.setLAngleLoc(ReadSourceLocation(Record, Idx));
5710 TL.setRAngleLoc(ReadSourceLocation(Record, Idx));
5715 Record, Idx));
5718 TL.setLParenLoc(ReadSourceLocation(Record, Idx));
5719 TL.setRParenLoc(ReadSourceLocation(Record, Idx));
5722 TL.setElaboratedKeywordLoc(ReadSourceLocation(Record, Idx));
5723 TL.setQualifierLoc(Reader.ReadNestedNameSpecifierLoc(F, Record, Idx));
5726 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5729 TL.setElaboratedKeywordLoc(ReadSourceLocation(Record, Idx));
5730 TL.setQualifierLoc(Reader.ReadNestedNameSpecifierLoc(F, Record, Idx));
5731 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5735 TL.setElaboratedKeywordLoc(ReadSourceLocation(Record, Idx));
5736 TL.setQualifierLoc(Reader.ReadNestedNameSpecifierLoc(F, Record, Idx));
5737 TL.setTemplateKeywordLoc(ReadSourceLocation(Record, Idx));
5738 TL.setTemplateNameLoc(ReadSourceLocation(Record, Idx));
5739 TL.setLAngleLoc(ReadSourceLocation(Record, Idx));
5740 TL.setRAngleLoc(ReadSourceLocation(Record, Idx));
5745 Record, Idx));
5748 TL.setEllipsisLoc(ReadSourceLocation(Record, Idx));
5751 TL.setNameLoc(ReadSourceLocation(Record, Idx));
5754 TL.setHasBaseTypeAsWritten(Record[Idx++]);
5755 TL.setLAngleLoc(ReadSourceLocation(Record, Idx));
5756 TL.setRAngleLoc(ReadSourceLocation(Record, Idx));
5758 TL.setProtocolLoc(i, ReadSourceLocation(Record, Idx));
5761 TL.setStarLoc(ReadSourceLocation(Record, Idx));
5764 TL.setKWLoc(ReadSourceLocation(Record, Idx));
5765 TL.setLParenLoc(ReadSourceLocation(Record, Idx));
5766 TL.setRParenLoc(ReadSourceLocation(Record, Idx));
5771 unsigned &Idx) {
5772 QualType InfoTy = readType(F, Record, Idx);
5777 TypeLocReader TLR(*this, F, Record, Idx);
6003 unsigned &Idx) {
6004 if (Idx >= Record.size() || Record[Idx] > M.LocalNumCXXBaseSpecifiers) {
6009 unsigned LocalID = Record[Idx++];
6027 unsigned Idx = 0;
6028 unsigned NumBases = Record[Idx++];
6032 Bases[I] = ReadCXXBaseSpecifier(*Loc.F, Record, Idx);
6168 unsigned &Idx) {
6169 if (Idx >= Record.size()) {
6174 return getGlobalDeclID(F, Record[Idx++]);
7032 for (unsigned Idx = 0, N = UndefinedButUsed.size(); Idx != N;) {
7033 NamedDecl *D = cast<NamedDecl>(GetDecl(UndefinedButUsed[Idx++]));
7035 SourceLocation::getFromRawEncoding(UndefinedButUsed[Idx++]);
7142 for (unsigned Idx = 0, N = VTableUses.size(); Idx < N; /* In loop */) {
7144 VT.Record = dyn_cast_or_null<CXXRecordDecl>(GetDecl(VTableUses[Idx++]));
7145 VT.Location = SourceLocation::getFromRawEncoding(VTableUses[Idx++]);
7146 VT.DefinitionRequired = VTableUses[Idx++];
7155 for (unsigned Idx = 0, N = PendingInstantiations.size(); Idx < N;) {
7156 ValueDecl *D = cast<ValueDecl>(GetDecl(PendingInstantiations[Idx++]));
7158 = SourceLocation::getFromRawEncoding(PendingInstantiations[Idx++]);
7167 for (unsigned Idx = 0, N = LateParsedTemplates.size(); Idx < N;
7169 FunctionDecl *FD = cast<FunctionDecl>(GetDecl(LateParsedTemplates[Idx++]));
7172 LT->D = GetDecl(LateParsedTemplates[Idx++]);
7177 unsigned TokN = LateParsedTemplates[Idx++];
7180 LT->Toks.push_back(ReadToken(*F, LateParsedTemplates, Idx));
7385 unsigned Idx = ID - M.BaseSelectorID - NUM_PREDEF_SELECTOR_IDS;
7387 Trait.ReadKey(M.SelectorLookupTableData + M.SelectorOffsets[Idx], 0);
7419 const RecordData &Record, unsigned &Idx) {
7420 DeclarationName::NameKind Kind = (DeclarationName::NameKind)Record[Idx++];
7423 return DeclarationName(GetIdentifierInfo(F, Record, Idx));
7428 return DeclarationName(ReadSelector(F, Record, Idx));
7432 Context.getCanonicalType(readType(F, Record, Idx)));
7436 Context.getCanonicalType(readType(F, Record, Idx)));
7440 Context.getCanonicalType(readType(F, Record, Idx)));
7444 (OverloadedOperatorKind)Record[Idx++]);
7448 GetIdentifierInfo(F, Record, Idx));
7460 const RecordData &Record, unsigned &Idx) {
7465 DNLoc.NamedType.TInfo = GetTypeSourceInfo(F, Record, Idx);
7470 = ReadSourceLocation(F, Record, Idx).getRawEncoding();
7472 = ReadSourceLocation(F, Record, Idx).getRawEncoding();
7477 = ReadSourceLocation(F, Record, Idx).getRawEncoding();
7491 const RecordData &Record, unsigned &Idx) {
7492 NameInfo.setName(ReadDeclarationName(F, Record, Idx));
7493 NameInfo.setLoc(ReadSourceLocation(F, Record, Idx));
7495 ReadDeclarationNameLoc(F, DNLoc, NameInfo.getName(), Record, Idx);
7500 const RecordData &Record, unsigned &Idx) {
7501 Info.QualifierLoc = ReadNestedNameSpecifierLoc(F, Record, Idx);
7502 unsigned NumTPLists = Record[Idx++];
7507 Info.TemplParamLists[i] = ReadTemplateParameterList(F, Record, Idx);
7513 unsigned &Idx) {
7514 TemplateName::NameKind Kind = (TemplateName::NameKind)Record[Idx++];
7517 return TemplateName(ReadDeclAs<TemplateDecl>(F, Record, Idx));
7520 unsigned size = Record[Idx++];
7523 Decls.addDecl(ReadDeclAs<NamedDecl>(F, Record, Idx));
7529 NestedNameSpecifier *NNS = ReadNestedNameSpecifier(F, Record, Idx);
7530 bool hasTemplKeyword = Record[Idx++];
7531 TemplateDecl *Template = ReadDeclAs<TemplateDecl>(F, Record, Idx);
7536 NestedNameSpecifier *NNS = ReadNestedNameSpecifier(F, Record, Idx);
7537 if (Record[Idx++]) // isIdentifier
7540 Idx));
7542 (OverloadedOperatorKind)Record[Idx++]);
7547 = ReadDeclAs<TemplateTemplateParmDecl>(F, Record, Idx);
7549 TemplateName replacement = ReadTemplateName(F, Record, Idx);
7555 = ReadDeclAs<TemplateTemplateParmDecl>(F, Record, Idx);
7559 TemplateArgument ArgPack = ReadTemplateArgument(F, Record, Idx);
7572 const RecordData &Record, unsigned &Idx) {
7573 TemplateArgument::ArgKind Kind = (TemplateArgument::ArgKind)Record[Idx++];
7578 return TemplateArgument(readType(F, Record, Idx));
7580 ValueDecl *D = ReadDeclAs<ValueDecl>(F, Record, Idx);
7581 bool ForReferenceParam = Record[Idx++];
7585 return TemplateArgument(readType(F, Record, Idx), /*isNullPtr*/true);
7587 llvm::APSInt Value = ReadAPSInt(Record, Idx);
7588 QualType T = readType(F, Record, Idx);
7592 return TemplateArgument(ReadTemplateName(F, Record, Idx));
7594 TemplateName Name = ReadTemplateName(F, Record, Idx);
7596 if (unsigned NumExpansions = Record[Idx++])
7603 unsigned NumArgs = Record[Idx++];
7606 Args[I] = ReadTemplateArgument(F, Record, Idx);
7616 const RecordData &Record, unsigned &Idx) {
7617 SourceLocation TemplateLoc = ReadSourceLocation(F, Record, Idx);
7618 SourceLocation LAngleLoc = ReadSourceLocation(F, Record, Idx);
7619 SourceLocation RAngleLoc = ReadSourceLocation(F, Record, Idx);
7621 unsigned NumParams = Record[Idx++];
7625 Params.push_back(ReadDeclAs<NamedDecl>(F, Record, Idx));
7637 unsigned &Idx) {
7638 unsigned NumTemplateArgs = Record[Idx++];
7641 TemplArgs.push_back(ReadTemplateArgument(F, Record, Idx));
7646 const RecordData &Record, unsigned &Idx) {
7647 unsigned NumDecls = Record[Idx++];
7650 DeclID ID = ReadDeclID(F, Record, Idx);
7651 AccessSpecifier AS = (AccessSpecifier)Record[Idx++];
7658 const RecordData &Record, unsigned &Idx) {
7659 bool isVirtual = static_cast<bool>(Record[Idx++]);
7660 bool isBaseOfClass = static_cast<bool>(Record[Idx++]);
7661 AccessSpecifier AS = static_cast<AccessSpecifier>(Record[Idx++]);
7662 bool inheritConstructors = static_cast<bool>(Record[Idx++]);
7663 TypeSourceInfo *TInfo = GetTypeSourceInfo(F, Record, Idx);
7664 SourceRange Range = ReadSourceRange(F, Record, Idx);
7665 SourceLocation EllipsisLoc = ReadSourceLocation(F, Record, Idx);
7674 unsigned &Idx) {
7676 unsigned NumInitializers = Record[Idx++];
7686 CtorInitializerType Type = (CtorInitializerType)Record[Idx++];
7689 TInfo = GetTypeSourceInfo(F, Record, Idx);
7690 IsBaseVirtual = Record[Idx++];
7694 TInfo = GetTypeSourceInfo(F, Record, Idx);
7698 Member = ReadDeclAs<FieldDecl>(F, Record, Idx);
7702 IndirectMember = ReadDeclAs<IndirectFieldDecl>(F, Record, Idx);
7706 SourceLocation MemberOrEllipsisLoc = ReadSourceLocation(F, Record, Idx);
7708 SourceLocation LParenLoc = ReadSourceLocation(F, Record, Idx);
7709 SourceLocation RParenLoc = ReadSourceLocation(F, Record, Idx);
7710 bool IsWritten = Record[Idx++];
7714 SourceOrderOrNumArrayIndices = Record[Idx++];
7716 SourceOrderOrNumArrayIndices = Record[Idx++];
7719 Indices.push_back(ReadDeclAs<VarDecl>(F, Record, Idx));
7762 const RecordData &Record, unsigned &Idx) {
7763 unsigned N = Record[Idx++];
7767 = (NestedNameSpecifier::SpecifierKind)Record[Idx++];
7770 IdentifierInfo *II = GetIdentifierInfo(F, Record, Idx);
7776 NamespaceDecl *NS = ReadDeclAs<NamespaceDecl>(F, Record, Idx);
7782 NamespaceAliasDecl *Alias =ReadDeclAs<NamespaceAliasDecl>(F, Record, Idx);
7789 const Type *T = readType(F, Record, Idx).getTypePtrOrNull();
7793 bool Template = Record[Idx++];
7811 unsigned &Idx) {
7812 unsigned N = Record[Idx++];
7816 = (NestedNameSpecifier::SpecifierKind)Record[Idx++];
7819 IdentifierInfo *II = GetIdentifierInfo(F, Record, Idx);
7820 SourceRange Range = ReadSourceRange(F, Record, Idx);
7826 NamespaceDecl *NS = ReadDeclAs<NamespaceDecl>(F, Record, Idx);
7827 SourceRange Range = ReadSourceRange(F, Record, Idx);
7833 NamespaceAliasDecl *Alias =ReadDeclAs<NamespaceAliasDecl>(F, Record, Idx);
7834 SourceRange Range = ReadSourceRange(F, Record, Idx);
7841 bool Template = Record[Idx++];
7842 TypeSourceInfo *T = GetTypeSourceInfo(F, Record, Idx);
7845 SourceLocation ColonColonLoc = ReadSourceLocation(F, Record, Idx);
7855 SourceLocation ColonColonLoc = ReadSourceLocation(F, Record, Idx);
7867 unsigned &Idx) {
7868 SourceLocation beg = ReadSourceLocation(F, Record, Idx);
7869 SourceLocation end = ReadSourceLocation(F, Record, Idx);
7874 llvm::APInt ASTReader::ReadAPInt(const RecordData &Record, unsigned &Idx) {
7875 unsigned BitWidth = Record[Idx++];
7877 llvm::APInt Result(BitWidth, NumWords, &Record[Idx]);
7878 Idx += NumWords;
7883 llvm::APSInt ASTReader::ReadAPSInt(const RecordData &Record, unsigned &Idx) {
7884 bool isUnsigned = Record[Idx++];
7885 return llvm::APSInt(ReadAPInt(Record, Idx), isUnsigned);
7891 unsigned &Idx) {
7892 return llvm::APFloat(Sem, ReadAPInt(Record, Idx));
7896 std::string ASTReader::ReadString(const RecordData &Record, unsigned &Idx) {
7897 unsigned Len = Record[Idx++];
7898 std::string Result(Record.data() + Idx, Record.data() + Idx + Len);
7899 Idx += Len;
7904 unsigned &Idx) {
7905 unsigned Major = Record[Idx++];
7906 unsigned Minor = Record[Idx++];
7907 unsigned Subminor = Record[Idx++];
7917 unsigned &Idx) {
7918 CXXDestructorDecl *Decl = ReadDeclAs<CXXDestructorDecl>(F, Record, Idx);
7987 unsigned Idx = 0;
7988 SourceRange SR = ReadSourceRange(F, Record, Idx);
7990 (RawComment::CommentKind) Record[Idx++];
7991 bool IsTrailingComment = Record[Idx++];
7992 bool IsAlmostTrailingComment = Record[Idx++];