Lines Matching refs:Idx

35     unsigned &Idx;
83 const ASTReader::RecordData &Record, unsigned &Idx)
84 : Reader(Reader), F(F), DeclsCursor(Cursor), Record(Record), Idx(Idx) { }
111 SourceLocation TemplateKWLoc = ReadSourceLocation(Record, Idx);
113 ArgInfo.setLAngleLoc(ReadSourceLocation(Record, Idx));
114 ArgInfo.setRAngleLoc(ReadSourceLocation(Record, Idx));
117 Reader.ReadTemplateArgumentLoc(F, Record, Idx));
122 assert(Idx == NumStmtFields && "Incorrect statement field count");
127 S->setSemiLoc(ReadSourceLocation(Record, Idx));
128 S->HasLeadingEmptyMacro = Record[Idx++];
134 unsigned NumStmts = Record[Idx++];
138 S->LBraceLoc = ReadSourceLocation(Record, Idx);
139 S->RBraceLoc = ReadSourceLocation(Record, Idx);
144 Reader.RecordSwitchCaseID(S, Record[Idx++]);
145 S->setKeywordLoc(ReadSourceLocation(Record, Idx));
146 S->setColonLoc(ReadSourceLocation(Record, Idx));
154 S->setEllipsisLoc(ReadSourceLocation(Record, Idx));
164 LabelDecl *LD = ReadDeclAs<LabelDecl>(Record, Idx);
168 S->setIdentLoc(ReadSourceLocation(Record, Idx));
173 uint64_t NumAttrs = Record[Idx++];
175 Reader.ReadAttributes(F, Attrs, Record, Idx);
181 S->AttrLoc = ReadSourceLocation(Record, Idx);
187 ReadDeclAs<VarDecl>(Record, Idx));
191 S->setIfLoc(ReadSourceLocation(Record, Idx));
192 S->setElseLoc(ReadSourceLocation(Record, Idx));
198 ReadDeclAs<VarDecl>(Record, Idx));
201 S->setSwitchLoc(ReadSourceLocation(Record, Idx));
202 if (Record[Idx++])
206 for (unsigned N = Record.size(); Idx != N; ++Idx) {
207 SwitchCase *SC = Reader.getSwitchCaseWithID(Record[Idx]);
220 ReadDeclAs<VarDecl>(Record, Idx));
224 S->setWhileLoc(ReadSourceLocation(Record, Idx));
231 S->setDoLoc(ReadSourceLocation(Record, Idx));
232 S->setWhileLoc(ReadSourceLocation(Record, Idx));
233 S->setRParenLoc(ReadSourceLocation(Record, Idx));
241 ReadDeclAs<VarDecl>(Record, Idx));
244 S->setForLoc(ReadSourceLocation(Record, Idx));
245 S->setLParenLoc(ReadSourceLocation(Record, Idx));
246 S->setRParenLoc(ReadSourceLocation(Record, Idx));
251 S->setLabel(ReadDeclAs<LabelDecl>(Record, Idx));
252 S->setGotoLoc(ReadSourceLocation(Record, Idx));
253 S->setLabelLoc(ReadSourceLocation(Record, Idx));
258 S->setGotoLoc(ReadSourceLocation(Record, Idx));
259 S->setStarLoc(ReadSourceLocation(Record, Idx));
265 S->setContinueLoc(ReadSourceLocation(Record, Idx));
270 S->setBreakLoc(ReadSourceLocation(Record, Idx));
276 S->setReturnLoc(ReadSourceLocation(Record, Idx));
277 S->setNRVOCandidate(ReadDeclAs<VarDecl>(Record, Idx));
282 S->setStartLoc(ReadSourceLocation(Record, Idx));
283 S->setEndLoc(ReadSourceLocation(Record, Idx));
285 if (Idx + 1 == Record.size()) {
287 S->setDeclGroup(DeclGroupRef(ReadDecl(Record, Idx)));
290 Decls.reserve(Record.size() - Idx);
291 for (unsigned N = Record.size(); Idx != N; )
292 Decls.push_back(ReadDecl(Record, Idx));
301 S->NumOutputs = Record[Idx++];
302 S->NumInputs = Record[Idx++];
303 S->NumClobbers = Record[Idx++];
304 S->setAsmLoc(ReadSourceLocation(Record, Idx));
305 S->setVolatile(Record[Idx++]);
306 S->setSimple(Record[Idx++]);
311 S->setRParenLoc(ReadSourceLocation(Record, Idx));
323 Names.push_back(Reader.GetIdentifierInfo(F, Record, Idx));
341 S->LBraceLoc = ReadSourceLocation(Record, Idx);
342 S->EndLoc = ReadSourceLocation(Record, Idx);
343 S->NumAsmToks = Record[Idx++];
344 std::string AsmStr = ReadString(Record, Idx);
350 AsmToks.push_back(ReadToken(Record, Idx));
362 ClobbersData.push_back(ReadString(Record, Idx));
376 ConstraintsData.push_back(ReadString(Record, Idx));
386 ++Idx;
387 S->setCapturedDecl(ReadDeclAs<CapturedDecl>(Record, Idx));
388 S->setCapturedRegionKind(static_cast<CapturedRegionKind>(Record[Idx++]));
389 S->setCapturedRecordDecl(ReadDeclAs<RecordDecl>(Record, Idx));
403 I.VarAndKind.setPointer(ReadDeclAs<VarDecl>(Record, Idx));
405 .setInt(static_cast<CapturedStmt::VariableCaptureKind>(Record[Idx++]));
406 I.Loc = ReadSourceLocation(Record, Idx);
412 E->setType(Reader.readType(F, Record, Idx));
413 E->setTypeDependent(Record[Idx++]);
414 E->setValueDependent(Record[Idx++]);
415 E->setInstantiationDependent(Record[Idx++]);
416 E->ExprBits.ContainsUnexpandedParameterPack = Record[Idx++];
417 E->setValueKind(static_cast<ExprValueKind>(Record[Idx++]));
418 E->setObjectKind(static_cast<ExprObjectKind>(Record[Idx++]));
419 assert(Idx == NumExprFields && "Incorrect expression field count");
424 E->setLocation(ReadSourceLocation(Record, Idx));
425 E->Type = (PredefinedExpr::IdentType)Record[Idx++];
432 E->DeclRefExprBits.HasQualifier = Record[Idx++];
433 E->DeclRefExprBits.HasFoundDecl = Record[Idx++];
434 E->DeclRefExprBits.HasTemplateKWAndArgsInfo = Record[Idx++];
435 E->DeclRefExprBits.HadMultipleCandidates = Record[Idx++];
436 E->DeclRefExprBits.RefersToEnclosingVariableOrCapture = Record[Idx++];
439 NumTemplateArgs = Record[Idx++];
443 = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
446 E->getInternalFoundDecl() = ReadDeclAs<NamedDecl>(Record, Idx);
452 E->setDecl(ReadDeclAs<ValueDecl>(Record, Idx));
453 E->setLocation(ReadSourceLocation(Record, Idx));
454 ReadDeclarationNameLoc(E->DNLoc, E->getDecl()->getDeclName(), Record, Idx);
459 E->setLocation(ReadSourceLocation(Record, Idx));
460 E->setValue(Reader.getContext(), Reader.ReadAPInt(Record, Idx));
465 E->setRawSemantics(static_cast<Stmt::APFloatSemantics>(Record[Idx++]));
466 E->setExact(Record[Idx++]);
468 Reader.ReadAPFloat(Record, E->getSemantics(), Idx));
469 E->setLocation(ReadSourceLocation(Record, Idx));
479 unsigned Len = Record[Idx++];
480 assert(Record[Idx] == E->getNumConcatenated() &&
482 ++Idx;
484 static_cast<StringLiteral::StringKind>(Record[Idx++]);
485 bool isPascal = Record[Idx++];
488 SmallString<16> Str(&Record[Idx], &Record[Idx] + Len);
490 Idx += Len;
494 E->setStrTokenLoc(I, ReadSourceLocation(Record, Idx));
499 E->setValue(Record[Idx++]);
500 E->setLocation(ReadSourceLocation(Record, Idx));
501 E->setKind(static_cast<CharacterLiteral::CharacterKind>(Record[Idx++]));
506 E->setLParen(ReadSourceLocation(Record, Idx));
507 E->setRParen(ReadSourceLocation(Record, Idx));
513 unsigned NumExprs = Record[Idx++];
518 E->LParenLoc = ReadSourceLocation(Record, Idx);
519 E->RParenLoc = ReadSourceLocation(Record, Idx);
525 E->setOpcode((UnaryOperator::Opcode)Record[Idx++]);
526 E->setOperatorLoc(ReadSourceLocation(Record, Idx));
532 assert(E->getNumComponents() == Record[Idx]);
533 ++Idx;
534 assert(E->getNumExpressions() == Record[Idx]);
535 ++Idx;
536 E->setOperatorLoc(ReadSourceLocation(Record, Idx));
537 E->setRParenLoc(ReadSourceLocation(Record, Idx));
538 E->setTypeSourceInfo(GetTypeSourceInfo(Record, Idx));
540 Node::Kind Kind = static_cast<Node::Kind>(Record[Idx++]);
541 SourceLocation Start = ReadSourceLocation(Record, Idx);
542 SourceLocation End = ReadSourceLocation(Record, Idx);
545 E->setComponent(I, Node(Start, Record[Idx++], End));
549 E->setComponent(I, Node(Start, ReadDeclAs<FieldDecl>(Record, Idx), End));
555 Reader.GetIdentifierInfo(F, Record, Idx),
561 *Base = Reader.ReadCXXBaseSpecifier(F, Record, Idx);
574 E->setKind(static_cast<UnaryExprOrTypeTrait>(Record[Idx++]));
575 if (Record[Idx] == 0) {
577 ++Idx;
579 E->setArgument(GetTypeSourceInfo(Record, Idx));
581 E->setOperatorLoc(ReadSourceLocation(Record, Idx));
582 E->setRParenLoc(ReadSourceLocation(Record, Idx));
589 E->setRBracketLoc(ReadSourceLocation(Record, Idx));
594 E->setNumArgs(Reader.getContext(), Record[Idx++]);
595 E->setRParenLoc(ReadSourceLocation(Record, Idx));
608 "It's a subclass, we must advance Idx!");
614 E->setIsaMemberLoc(ReadSourceLocation(Record, Idx));
615 E->setOpLoc(ReadSourceLocation(Record, Idx));
616 E->setArrow(Record[Idx++]);
623 E->setShouldCopy(Record[Idx++]);
628 E->LParenLoc = ReadSourceLocation(Record, Idx);
629 E->BridgeKeywordLoc = ReadSourceLocation(Record, Idx);
630 E->Kind = Record[Idx++];
635 unsigned NumBaseSpecs = Record[Idx++];
638 E->setCastKind((CastKind)Record[Idx++]);
642 *BaseSpec = Reader.ReadCXXBaseSpecifier(F, Record, Idx);
651 E->setOpcode((BinaryOperator::Opcode)Record[Idx++]);
652 E->setOperatorLoc(ReadSourceLocation(Record, Idx));
653 E->setFPContractable((bool)Record[Idx++]);
658 E->setComputationLHSType(Reader.readType(F, Record, Idx));
659 E->setComputationResultType(Reader.readType(F, Record, Idx));
667 E->QuestionLoc = ReadSourceLocation(Record, Idx);
668 E->ColonLoc = ReadSourceLocation(Record, Idx);
679 E->QuestionLoc = ReadSourceLocation(Record, Idx);
680 E->ColonLoc = ReadSourceLocation(Record, Idx);
689 E->setTypeInfoAsWritten(GetTypeSourceInfo(Record, Idx));
694 E->setLParenLoc(ReadSourceLocation(Record, Idx));
695 E->setRParenLoc(ReadSourceLocation(Record, Idx));
700 E->setLParenLoc(ReadSourceLocation(Record, Idx));
701 E->setTypeSourceInfo(GetTypeSourceInfo(Record, Idx));
703 E->setFileScope(Record[Idx++]);
709 E->setAccessor(Reader.GetIdentifierInfo(F, Record, Idx));
710 E->setAccessorLoc(ReadSourceLocation(Record, Idx));
717 E->setLBraceLoc(ReadSourceLocation(Record, Idx));
718 E->setRBraceLoc(ReadSourceLocation(Record, Idx));
719 bool isArrayFiller = Record[Idx++];
725 E->ArrayFillerOrUnionFieldInit = ReadDeclAs<FieldDecl>(Record, Idx);
726 E->sawArrayRangeDesignator(Record[Idx++]);
727 unsigned NumInits = Record[Idx++];
744 unsigned NumSubExprs = Record[Idx++];
748 E->setEqualOrColonLoc(ReadSourceLocation(Record, Idx));
749 E->setGNUSyntax(Record[Idx++]);
752 while (Idx < Record.size()) {
753 switch ((DesignatorTypes)Record[Idx++]) {
755 FieldDecl *Field = ReadDeclAs<FieldDecl>(Record, Idx);
757 = ReadSourceLocation(Record, Idx);
759 = ReadSourceLocation(Record, Idx);
767 const IdentifierInfo *Name = Reader.GetIdentifierInfo(F, Record, Idx);
769 = ReadSourceLocation(Record, Idx);
771 = ReadSourceLocation(Record, Idx);
777 unsigned Index = Record[Idx++];
779 = ReadSourceLocation(Record, Idx);
781 = ReadSourceLocation(Record, Idx);
787 unsigned Index = Record[Idx++];
789 = ReadSourceLocation(Record, Idx);
791 = ReadSourceLocation(Record, Idx);
793 = ReadSourceLocation(Record, Idx);
811 E->setWrittenTypeInfo(GetTypeSourceInfo(Record, Idx));
812 E->setBuiltinLoc(ReadSourceLocation(Record, Idx));
813 E->setRParenLoc(ReadSourceLocation(Record, Idx));
818 E->setAmpAmpLoc(ReadSourceLocation(Record, Idx));
819 E->setLabelLoc(ReadSourceLocation(Record, Idx));
820 E->setLabel(ReadDeclAs<LabelDecl>(Record, Idx));
825 E->setLParenLoc(ReadSourceLocation(Record, Idx));
826 E->setRParenLoc(ReadSourceLocation(Record, Idx));
835 E->setBuiltinLoc(ReadSourceLocation(Record, Idx));
836 E->setRParenLoc(ReadSourceLocation(Record, Idx));
837 E->setIsConditionTrue(Record[Idx++]);
842 E->setTokenLocation(ReadSourceLocation(Record, Idx));
848 unsigned NumExprs = Record[Idx++];
852 E->setBuiltinLoc(ReadSourceLocation(Record, Idx));
853 E->setRParenLoc(ReadSourceLocation(Record, Idx));
858 E->BuiltinLoc = ReadSourceLocation(Record, Idx);
859 E->RParenLoc = ReadSourceLocation(Record, Idx);
860 E->TInfo = GetTypeSourceInfo(Record, Idx);
866 E->setBlockDecl(ReadDeclAs<BlockDecl>(Record, Idx));
871 E->NumAssocs = Record[Idx++];
878 E->AssocTypes[I] = GetTypeSourceInfo(Record, Idx);
881 E->ResultIndex = Record[Idx++];
883 E->GenericLoc = ReadSourceLocation(Record, Idx);
884 E->DefaultLoc = ReadSourceLocation(Record, Idx);
885 E->RParenLoc = ReadSourceLocation(Record, Idx);
890 unsigned numSemanticExprs = Record[Idx++];
892 E->PseudoObjectExprBits.ResultIndex = Record[Idx++];
906 E->Op = AtomicExpr::AtomicOp(Record[Idx++]);
910 E->BuiltinLoc = ReadSourceLocation(Record, Idx);
911 E->RParenLoc = ReadSourceLocation(Record, Idx);
920 E->setAtLoc(ReadSourceLocation(Record, Idx));
927 E->BoxingMethod = ReadDeclAs<ObjCMethodDecl>(Record, Idx);
928 E->Range = ReadSourceRange(Record, Idx);
933 unsigned NumElements = Record[Idx++];
938 E->ArrayWithObjectsMethod = ReadDeclAs<ObjCMethodDecl>(Record, Idx);
939 E->Range = ReadSourceRange(Record, Idx);
944 unsigned NumElements = Record[Idx++];
946 bool HasPackExpansions = Record[Idx++];
954 Expansions[I].EllipsisLoc = ReadSourceLocation(Record, Idx);
955 Expansions[I].NumExpansionsPlusOne = Record[Idx++];
958 E->DictWithObjectsMethod = ReadDeclAs<ObjCMethodDecl>(Record, Idx);
959 E->Range = ReadSourceRange(Record, Idx);
964 E->setEncodedTypeSourceInfo(GetTypeSourceInfo(Record, Idx));
965 E->setAtLoc(ReadSourceLocation(Record, Idx));
966 E->setRParenLoc(ReadSourceLocation(Record, Idx));
971 E->setSelector(Reader.ReadSelector(F, Record, Idx));
972 E->setAtLoc(ReadSourceLocation(Record, Idx));
973 E->setRParenLoc(ReadSourceLocation(Record, Idx));
978 E->setProtocol(ReadDeclAs<ObjCProtocolDecl>(Record, Idx));
979 E->setAtLoc(ReadSourceLocation(Record, Idx));
980 E->ProtoLoc = ReadSourceLocation(Record, Idx);
981 E->setRParenLoc(ReadSourceLocation(Record, Idx));
986 E->setDecl(ReadDeclAs<ObjCIvarDecl>(Record, Idx));
987 E->setLocation(ReadSourceLocation(Record, Idx));
988 E->setOpLoc(ReadSourceLocation(Record, Idx));
990 E->setIsArrow(Record[Idx++]);
991 E->setIsFreeIvar(Record[Idx++]);
996 unsigned MethodRefFlags = Record[Idx++];
997 bool Implicit = Record[Idx++] != 0;
999 ObjCMethodDecl *Getter = ReadDeclAs<ObjCMethodDecl>(Record, Idx);
1000 ObjCMethodDecl *Setter = ReadDeclAs<ObjCMethodDecl>(Record, Idx);
1003 E->setExplicitProperty(ReadDeclAs<ObjCPropertyDecl>(Record, Idx),
1006 E->setLocation(ReadSourceLocation(Record, Idx));
1007 E->setReceiverLocation(ReadSourceLocation(Record, Idx));
1008 switch (Record[Idx++]) {
1013 E->setSuperReceiver(Reader.readType(F, Record, Idx));
1016 E->setClassReceiver(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx));
1023 E->setRBracket(ReadSourceLocation(Record, Idx));
1026 E->GetAtIndexMethodDecl = ReadDeclAs<ObjCMethodDecl>(Record, Idx);
1027 E->SetAtIndexMethodDecl = ReadDeclAs<ObjCMethodDecl>(Record, Idx);
1032 assert(Record[Idx] == E->getNumArgs());
1033 ++Idx;
1034 unsigned NumStoredSelLocs = Record[Idx++];
1035 E->SelLocsKind = Record[Idx++];
1036 E->setDelegateInitCall(Record[Idx++]);
1037 E->IsImplicit = Record[Idx++];
1039 = static_cast<ObjCMessageExpr::ReceiverKind>(Record[Idx++]);
1046 E->setClassReceiver(GetTypeSourceInfo(Record, Idx));
1051 QualType T = Reader.readType(F, Record, Idx);
1052 SourceLocation SuperLoc = ReadSourceLocation(Record, Idx);
1060 if (Record[Idx++])
1061 E->setMethodDecl(ReadDeclAs<ObjCMethodDecl>(Record, Idx));
1063 E->setSelector(Reader.ReadSelector(F, Record, Idx));
1065 E->LBracLoc = ReadSourceLocation(Record, Idx);
1066 E->RBracLoc = ReadSourceLocation(Record, Idx);
1073 Locs[I] = ReadSourceLocation(Record, Idx);
1081 S->setForLoc(ReadSourceLocation(Record, Idx));
1082 S->setRParenLoc(ReadSourceLocation(Record, Idx));
1088 S->setCatchParamDecl(ReadDeclAs<VarDecl>(Record, Idx));
1089 S->setAtCatchLoc(ReadSourceLocation(Record, Idx));
1090 S->setRParenLoc(ReadSourceLocation(Record, Idx));
1096 S->setAtFinallyLoc(ReadSourceLocation(Record, Idx));
1102 S->setAtLoc(ReadSourceLocation(Record, Idx));
1107 assert(Record[Idx] == S->getNumCatchStmts());
1108 ++Idx;
1109 bool HasFinally = Record[Idx++];
1116 S->setAtTryLoc(ReadSourceLocation(Record, Idx));
1123 S->setAtSynchronizedLoc(ReadSourceLocation(Record, Idx));
1129 S->setThrowLoc(ReadSourceLocation(Record, Idx));
1134 E->setValue(Record[Idx++]);
1135 E->setLocation(ReadSourceLocation(Record, Idx));
1144 S->CatchLoc = ReadSourceLocation(Record, Idx);
1145 S->ExceptionDecl = ReadDeclAs<VarDecl>(Record, Idx);
1151 assert(Record[Idx] == S->getNumHandlers() && "NumStmtFields is wrong ?");
1152 ++Idx;
1153 S->TryLoc = ReadSourceLocation(Record, Idx);
1161 S->setForLoc(ReadSourceLocation(Record, Idx));
1162 S->setColonLoc(ReadSourceLocation(Record, Idx));
1163 S->setRParenLoc(ReadSourceLocation(Record, Idx));
1174 S->KeywordLoc = ReadSourceLocation(Record, Idx);
1175 S->IsIfExists = Record[Idx++];
1176 S->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1177 ReadDeclarationNameInfo(S->NameInfo, Record, Idx);
1183 E->Operator = (OverloadedOperatorKind)Record[Idx++];
1184 E->Range = Reader.ReadSourceRange(F, Record, Idx);
1185 E->setFPContractable((bool)Record[Idx++]);
1190 E->NumArgs = Record[Idx++];
1195 E->setConstructor(ReadDeclAs<CXXConstructorDecl>(Record, Idx));
1196 E->setLocation(ReadSourceLocation(Record, Idx));
1197 E->setElidable(Record[Idx++]);
1198 E->setHadMultipleCandidates(Record[Idx++]);
1199 E->setListInitialization(Record[Idx++]);
1200 E->setStdInitListInitialization(Record[Idx++]);
1201 E->setRequiresZeroInitialization(Record[Idx++]);
1202 E->setConstructionKind((CXXConstructExpr::ConstructionKind)Record[Idx++]);
1203 E->ParenOrBraceRange = ReadSourceRange(Record, Idx);
1208 E->Type = GetTypeSourceInfo(Record, Idx);
1213 unsigned NumCaptures = Record[Idx++];
1215 unsigned NumArrayIndexVars = Record[Idx++];
1216 E->IntroducerRange = ReadSourceRange(Record, Idx);
1217 E->CaptureDefault = static_cast<LambdaCaptureDefault>(Record[Idx++]);
1218 E->CaptureDefaultLoc = ReadSourceLocation(Record, Idx);
1219 E->ExplicitParams = Record[Idx++];
1220 E->ExplicitResultType = Record[Idx++];
1221 E->ClosingBrace = ReadSourceLocation(Record, Idx);
1233 ArrayIndexStarts[I] = Record[Idx++];
1237 ArrayIndexVars[I] = ReadDeclAs<VarDecl>(Record, Idx);
1249 SourceRange R = ReadSourceRange(Record, Idx);
1252 R = ReadSourceRange(Record, Idx);
1274 E->setLParenLoc(ReadSourceLocation(Record, Idx));
1275 E->setRParenLoc(ReadSourceLocation(Record, Idx));
1280 E->UDSuffixLoc = ReadSourceLocation(Record, Idx);
1285 E->setValue(Record[Idx++]);
1286 E->setLocation(ReadSourceLocation(Record, Idx));
1291 E->setLocation(ReadSourceLocation(Record, Idx));
1296 E->setSourceRange(ReadSourceRange(Record, Idx));
1299 GetTypeSourceInfo(Record, Idx));
1309 E->setLocation(ReadSourceLocation(Record, Idx));
1310 E->setImplicit(Record[Idx++]);
1315 E->ThrowLoc = ReadSourceLocation(Record, Idx);
1317 E->IsThrownVariableInScope = Record[Idx++];
1323 assert((bool)Record[Idx] == E->Param.getInt() && "We messed up at creation ?");
1324 ++Idx; // HasOtherExprStored and SubExpr was handled during creation.
1325 E->Param.setPointer(ReadDeclAs<ParmVarDecl>(Record, Idx));
1326 E->Loc = ReadSourceLocation(Record, Idx);
1331 E->Field = ReadDeclAs<FieldDecl>(Record, Idx);
1332 E->Loc = ReadSourceLocation(Record, Idx);
1337 E->setTemporary(Reader.ReadCXXTemporary(F, Record, Idx));
1343 E->TypeInfo = GetTypeSourceInfo(Record, Idx);
1344 E->RParenLoc = ReadSourceLocation(Record, Idx);
1349 E->GlobalNew = Record[Idx++];
1350 bool isArray = Record[Idx++];
1351 E->UsualArrayDeleteWantsSize = Record[Idx++];
1352 unsigned NumPlacementArgs = Record[Idx++];
1353 E->StoredInitializationStyle = Record[Idx++];
1354 E->setOperatorNew(ReadDeclAs<FunctionDecl>(Record, Idx));
1355 E->setOperatorDelete(ReadDeclAs<FunctionDecl>(Record, Idx));
1356 E->AllocatedTypeInfo = GetTypeSourceInfo(Record, Idx);
1357 E->TypeIdParens = ReadSourceRange(Record, Idx);
1358 E->Range = ReadSourceRange(Record, Idx);
1359 E->DirectInitRange = ReadSourceRange(Record, Idx);
1372 E->GlobalDelete = Record[Idx++];
1373 E->ArrayForm = Record[Idx++];
1374 E->ArrayFormAsWritten = Record[Idx++];
1375 E->UsualArrayDeleteWantsSize = Record[Idx++];
1376 E->OperatorDelete = ReadDeclAs<FunctionDecl>(Record, Idx);
1378 E->Loc = ReadSourceLocation(Record, Idx);
1385 E->IsArrow = Record[Idx++];
1386 E->OperatorLoc = ReadSourceLocation(Record, Idx);
1387 E->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1388 E->ScopeType = GetTypeSourceInfo(Record, Idx);
1389 E->ColonColonLoc = ReadSourceLocation(Record, Idx);
1390 E->TildeLoc = ReadSourceLocation(Record, Idx);
1392 IdentifierInfo *II = Reader.GetIdentifierInfo(F, Record, Idx);
1394 E->setDestroyedType(II, ReadSourceLocation(Record, Idx));
1396 E->setDestroyedType(GetTypeSourceInfo(Record, Idx));
1402 unsigned NumObjects = Record[Idx++];
1405 E->getObjectsBuffer()[i] = ReadDeclAs<BlockDecl>(Record, Idx);
1414 if (Record[Idx++]) // HasTemplateKWAndArgsInfo
1416 /*NumTemplateArgs=*/Record[Idx++]);
1419 E->BaseType = Reader.readType(F, Record, Idx);
1420 E->IsArrow = Record[Idx++];
1421 E->OperatorLoc = ReadSourceLocation(Record, Idx);
1422 E->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1423 E->FirstQualifierFoundInScope = ReadDeclAs<NamedDecl>(Record, Idx);
1424 ReadDeclarationNameInfo(E->MemberNameInfo, Record, Idx);
1431 if (Record[Idx++]) // HasTemplateKWAndArgsInfo
1433 /*NumTemplateArgs=*/Record[Idx++]);
1435 E->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1436 ReadDeclarationNameInfo(E->NameInfo, Record, Idx);
1442 assert(Record[Idx] == E->arg_size() && "Read wrong record during creation ?");
1443 ++Idx; // NumArgs;
1446 E->Type = GetTypeSourceInfo(Record, Idx);
1447 E->setLParenLoc(ReadSourceLocation(Record, Idx));
1448 E->setRParenLoc(ReadSourceLocation(Record, Idx));
1454 if (Record[Idx++]) // HasTemplateKWAndArgsInfo
1456 /*NumTemplateArgs=*/Record[Idx++]);
1458 unsigned NumDecls = Record[Idx++];
1461 NamedDecl *D = ReadDeclAs<NamedDecl>(Record, Idx);
1462 AccessSpecifier AS = (AccessSpecifier)Record[Idx++];
1467 ReadDeclarationNameInfo(E->NameInfo, Record, Idx);
1468 E->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1473 E->IsArrow = Record[Idx++];
1474 E->HasUnresolvedUsing = Record[Idx++];
1476 E->BaseType = Reader.readType(F, Record, Idx);
1477 E->OperatorLoc = ReadSourceLocation(Record, Idx);
1482 E->RequiresADL = Record[Idx++];
1483 E->Overloaded = Record[Idx++];
1484 E->NamingClass = ReadDeclAs<CXXRecordDecl>(Record, Idx);
1489 E->TypeTraitExprBits.NumArgs = Record[Idx++];
1490 E->TypeTraitExprBits.Kind = Record[Idx++];
1491 E->TypeTraitExprBits.Value = Record[Idx++];
1492 SourceRange Range = ReadSourceRange(Record, Idx);
1498 Args[I] = GetTypeSourceInfo(Record, Idx);
1503 E->ATT = (ArrayTypeTrait)Record[Idx++];
1504 E->Value = (unsigned int)Record[Idx++];
1505 SourceRange Range = ReadSourceRange(Record, Idx);
1508 E->QueriedType = GetTypeSourceInfo(Record, Idx);
1513 E->ET = (ExpressionTrait)Record[Idx++];
1514 E->Value = (bool)Record[Idx++];
1515 SourceRange Range = ReadSourceRange(Record, Idx);
1523 E->Value = (bool)Record[Idx++];
1524 E->Range = ReadSourceRange(Record, Idx);
1530 E->EllipsisLoc = ReadSourceLocation(Record, Idx);
1531 E->NumExpansions = Record[Idx++];
1537 E->OperatorLoc = ReadSourceLocation(Record, Idx);
1538 E->PackLoc = ReadSourceLocation(Record, Idx);
1539 E->RParenLoc = ReadSourceLocation(Record, Idx);
1540 E->Length = Record[Idx++];
1541 E->Pack = ReadDeclAs<NamedDecl>(Record, Idx);
1547 E->Param = ReadDeclAs<NonTypeTemplateParmDecl>(Record, Idx);
1548 E->NameLoc = ReadSourceLocation(Record, Idx);
1555 E->Param = ReadDeclAs<NonTypeTemplateParmDecl>(Record, Idx);
1556 TemplateArgument ArgPack = Reader.ReadTemplateArgument(F, Record, Idx);
1562 E->NameLoc = ReadSourceLocation(Record, Idx);
1567 E->NumParameters = Record[Idx++];
1568 E->ParamPack = ReadDeclAs<ParmVarDecl>(Record, Idx);
1569 E->NameLoc = ReadSourceLocation(Record, Idx);
1572 Parms[i] = ReadDeclAs<ParmVarDecl>(Record, Idx);
1578 auto VD = ReadDeclAs<ValueDecl>(Record, Idx);
1579 unsigned ManglingNumber = Record[Idx++];
1585 E->LParenLoc = ReadSourceLocation(Record, Idx);
1586 E->EllipsisLoc = ReadSourceLocation(Record, Idx);
1587 E->RParenLoc = ReadSourceLocation(Record, Idx);
1590 E->Opcode = (BinaryOperatorKind)Record[Idx++];
1596 E->Loc = ReadSourceLocation(Record, Idx);
1608 E->IsArrow = (Record[Idx++] != 0);
1610 E->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx);
1611 E->MemberLoc = ReadSourceLocation(Record, Idx);
1612 E->TheDecl = ReadDeclAs<MSPropertyDecl>(Record, Idx);
1617 E->setSourceRange(ReadSourceRange(Record, Idx));
1620 GetTypeSourceInfo(Record, Idx));
1630 S->setLeaveLoc(ReadSourceLocation(Record, Idx));
1635 S->Loc = ReadSourceLocation(Record, Idx);
1642 S->Loc = ReadSourceLocation(Record, Idx);
1648 S->IsCXXTry = Record[Idx++];
1649 S->TryLoc = ReadSourceLocation(Record, Idx);
1668 E->BuiltinLoc = ReadSourceLocation(Record, Idx);
1669 E->RParenLoc = ReadSourceLocation(Record, Idx);
1682 unsigned &Idx;
1685 const ASTReader::RecordData &Record, unsigned &Idx)
1686 : Reader(R), Context(C), Record(Record), Idx(Idx) { }
1696 switch (Record[Idx++]) {
1749 C = OMPPrivateClause::CreateEmpty(Context, Record[Idx++]);
1752 C = OMPFirstprivateClause::CreateEmpty(Context, Record[Idx++]);
1755 C = OMPLastprivateClause::CreateEmpty(Context, Record[Idx++]);
1758 C = OMPSharedClause::CreateEmpty(Context, Record[Idx++]);
1761 C = OMPReductionClause::CreateEmpty(Context, Record[Idx++]);
1764 C = OMPLinearClause::CreateEmpty(Context, Record[Idx++]);
1767 C = OMPAlignedClause::CreateEmpty(Context, Record[Idx++]);
1770 C = OMPCopyinClause::CreateEmpty(Context, Record[Idx++]);
1773 C = OMPCopyprivateClause::CreateEmpty(Context, Record[Idx++]);
1776 C = OMPFlushClause::CreateEmpty(Context, Record[Idx++]);
1780 C->setLocStart(Reader->ReadSourceLocation(Record, Idx));
1781 C->setLocEnd(Reader->ReadSourceLocation(Record, Idx));
1788 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1793 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1798 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1803 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1808 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1813 static_cast<OpenMPDefaultClauseKind>(Record[Idx++]));
1814 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1815 C->setDefaultKindKwLoc(Reader->ReadSourceLocation(Record, Idx));
1820 static_cast<OpenMPProcBindClauseKind>(Record[Idx++]));
1821 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1822 C->setProcBindKindKwLoc(Reader->ReadSourceLocation(Record, Idx));
1827 static_cast<OpenMPScheduleClauseKind>(Record[Idx++]));
1829 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1830 C->setScheduleKindLoc(Reader->ReadSourceLocation(Record, Idx));
1831 C->setCommaLoc(Reader->ReadSourceLocation(Record, Idx));
1853 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1867 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1885 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1911 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1921 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1922 C->setColonLoc(Reader->ReadSourceLocation(Record, Idx));
1924 Reader->Reader.ReadNestedNameSpecifierLoc(Reader->F, Record, Idx);
1926 Reader->ReadDeclarationNameInfo(DNI, Record, Idx);
1951 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1952 C->setColonLoc(Reader->ReadSourceLocation(Record, Idx));
1976 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
1977 C->setColonLoc(Reader->ReadSourceLocation(Record, Idx));
1988 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
2010 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
2032 C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx));
2045 E->setLocStart(ReadSourceLocation(Record, Idx));
2046 E->setLocEnd(ReadSourceLocation(Record, Idx));
2047 OMPClauseReader ClauseReader(this, Reader.getContext(), Record, Idx);
2059 Idx += 2;
2098 ++Idx;
2117 ++Idx;
2129 ++Idx;
2141 ReadDeclarationNameInfo(D->DirName, Record, Idx);
2157 ++Idx;
2164 ++Idx;
2186 ++Idx;
2198 ++Idx;
2204 D->IsXLHSInRHSPart = Record[Idx++] != 0;
2205 D->IsPostfixUpdate = Record[Idx++] != 0;
2211 ++Idx;
2218 ++Idx;
2269 unsigned Idx;
2270 ASTStmtReader Reader(*this, F, Cursor, Record, Idx);
2289 Idx = 0;
2302 S = StmtEntries[Record[Idx++]];
2462 assert(Idx == 0);
2464 if (Record[Idx++]) { // HasQualifier.
2465 QualifierLoc = ReadNestedNameSpecifierLoc(F, Record, Idx);
2470 bool HasTemplateKWAndArgsInfo = Record[Idx++];
2472 TemplateKWLoc = ReadSourceLocation(F, Record, Idx);
2473 unsigned NumTemplateArgs = Record[Idx++];
2474 ArgInfo.setLAngleLoc(ReadSourceLocation(F, Record, Idx));
2475 ArgInfo.setRAngleLoc(ReadSourceLocation(F, Record, Idx));
2477 ArgInfo.addArgument(ReadTemplateArgumentLoc(F, Record, Idx));
2480 bool HadMultipleCandidates = Record[Idx++];
2482 NamedDecl *FoundD = ReadDeclAs<NamedDecl>(F, Record, Idx);
2483 AccessSpecifier AS = (AccessSpecifier)Record[Idx++];
2486 QualType T = readType(F, Record, Idx);
2487 ExprValueKind VK = static_cast<ExprValueKind>(Record[Idx++]);
2488 ExprObjectKind OK = static_cast<ExprObjectKind>(Record[Idx++]);
2490 ValueDecl *MemberD = ReadDeclAs<ValueDecl>(F, Record, Idx);
2491 SourceLocation MemberLoc = ReadSourceLocation(F, Record, Idx);
2493 bool IsArrow = Record[Idx++];
2494 SourceLocation OperatorLoc = ReadSourceLocation(F, Record, Idx);
2501 MemberD->getDeclName(), Record, Idx);
3050 assert(Idx == Record.size() && "Invalid deserialization of statement");