reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Serialization/ASTWriterStmt.cpp
   47       return Record.EmitStmt(Code, AbbrevToUse);
   62   Record.AddSourceLocation(ArgInfo.TemplateKWLoc);
   63   Record.AddSourceLocation(ArgInfo.LAngleLoc);
   64   Record.AddSourceLocation(ArgInfo.RAngleLoc);
   66     Record.AddTemplateArgumentLoc(Args[i]);
   70   Record.push_back(S->StmtBits.IsOMPStructuredBlock);
   75   Record.AddSourceLocation(S->getSemiLoc());
   76   Record.push_back(S->NullStmtBits.HasLeadingEmptyMacro);
   82   Record.push_back(S->size());
   84     Record.AddStmt(CS);
   85   Record.AddSourceLocation(S->getLBracLoc());
   86   Record.AddSourceLocation(S->getRBracLoc());
   92   Record.push_back(Writer.getSwitchCaseID(S));
   93   Record.AddSourceLocation(S->getKeywordLoc());
   94   Record.AddSourceLocation(S->getColonLoc());
   99   Record.push_back(S->caseStmtIsGNURange());
  100   Record.AddStmt(S->getLHS());
  101   Record.AddStmt(S->getSubStmt());
  103     Record.AddStmt(S->getRHS());
  104     Record.AddSourceLocation(S->getEllipsisLoc());
  111   Record.AddStmt(S->getSubStmt());
  117   Record.AddDeclRef(S->getDecl());
  118   Record.AddStmt(S->getSubStmt());
  119   Record.AddSourceLocation(S->getIdentLoc());
  125   Record.push_back(S->getAttrs().size());
  126   Record.AddAttributes(S->getAttrs());
  127   Record.AddStmt(S->getSubStmt());
  128   Record.AddSourceLocation(S->getAttrLoc());
  139   Record.push_back(S->isConstexpr());
  140   Record.push_back(HasElse);
  141   Record.push_back(HasVar);
  142   Record.push_back(HasInit);
  144   Record.AddStmt(S->getCond());
  145   Record.AddStmt(S->getThen());
  147     Record.AddStmt(S->getElse());
  149     Record.AddDeclRef(S->getConditionVariable());
  151     Record.AddStmt(S->getInit());
  153   Record.AddSourceLocation(S->getIfLoc());
  155     Record.AddSourceLocation(S->getElseLoc());
  165   Record.push_back(HasInit);
  166   Record.push_back(HasVar);
  167   Record.push_back(S->isAllEnumCasesCovered());
  169   Record.AddStmt(S->getCond());
  170   Record.AddStmt(S->getBody());
  172     Record.AddStmt(S->getInit());
  174     Record.AddDeclRef(S->getConditionVariable());
  176   Record.AddSourceLocation(S->getSwitchLoc());
  180     Record.push_back(Writer.RecordSwitchCaseID(SC));
  188   Record.push_back(HasVar);
  190   Record.AddStmt(S->getCond());
  191   Record.AddStmt(S->getBody());
  193     Record.AddDeclRef(S->getConditionVariable());
  195   Record.AddSourceLocation(S->getWhileLoc());
  201   Record.AddStmt(S->getCond());
  202   Record.AddStmt(S->getBody());
  203   Record.AddSourceLocation(S->getDoLoc());
  204   Record.AddSourceLocation(S->getWhileLoc());
  205   Record.AddSourceLocation(S->getRParenLoc());
  211   Record.AddStmt(S->getInit());
  212   Record.AddStmt(S->getCond());
  213   Record.AddDeclRef(S->getConditionVariable());
  214   Record.AddStmt(S->getInc());
  215   Record.AddStmt(S->getBody());
  216   Record.AddSourceLocation(S->getForLoc());
  217   Record.AddSourceLocation(S->getLParenLoc());
  218   Record.AddSourceLocation(S->getRParenLoc());
  224   Record.AddDeclRef(S->getLabel());
  225   Record.AddSourceLocation(S->getGotoLoc());
  226   Record.AddSourceLocation(S->getLabelLoc());
  232   Record.AddSourceLocation(S->getGotoLoc());
  233   Record.AddSourceLocation(S->getStarLoc());
  234   Record.AddStmt(S->getTarget());
  240   Record.AddSourceLocation(S->getContinueLoc());
  246   Record.AddSourceLocation(S->getBreakLoc());
  254   Record.push_back(HasNRVOCandidate);
  256   Record.AddStmt(S->getRetValue());
  258     Record.AddDeclRef(S->getNRVOCandidate());
  260   Record.AddSourceLocation(S->getReturnLoc());
  266   Record.AddSourceLocation(S->getBeginLoc());
  267   Record.AddSourceLocation(S->getEndLoc());
  270     Record.AddDeclRef(*D);
  276   Record.push_back(S->getNumOutputs());
  277   Record.push_back(S->getNumInputs());
  278   Record.push_back(S->getNumClobbers());
  279   Record.AddSourceLocation(S->getAsmLoc());
  280   Record.push_back(S->isVolatile());
  281   Record.push_back(S->isSimple());
  286   Record.push_back(S->getNumLabels());
  287   Record.AddSourceLocation(S->getRParenLoc());
  288   Record.AddStmt(S->getAsmString());
  292     Record.AddIdentifierRef(S->getOutputIdentifier(I));
  293     Record.AddStmt(S->getOutputConstraintLiteral(I));
  294     Record.AddStmt(S->getOutputExpr(I));
  299     Record.AddIdentifierRef(S->getInputIdentifier(I));
  300     Record.AddStmt(S->getInputConstraintLiteral(I));
  301     Record.AddStmt(S->getInputExpr(I));
  306     Record.AddStmt(S->getClobberStringLiteral(I));
  309   for (auto *E : S->labels()) Record.AddStmt(E);
  316   Record.AddSourceLocation(S->getLBraceLoc());
  317   Record.AddSourceLocation(S->getEndLoc());
  318   Record.push_back(S->getNumAsmToks());
  319   Record.AddString(S->getAsmString());
  324     Writer.AddToken(S->getAsmToks()[I], Record.getRecordData());
  329     Record.AddString(S->getClobber(I));
  334     Record.AddStmt(S->getOutputExpr(I));
  335     Record.AddString(S->getOutputConstraint(I));
  340     Record.AddStmt(S->getInputExpr(I));
  341     Record.AddString(S->getInputConstraint(I));
  349   Record.push_back(CoroStmt->getParamMoves().size());
  351     Record.AddStmt(S);
  357   Record.AddSourceLocation(S->getKeywordLoc());
  358   Record.AddStmt(S->getOperand());
  359   Record.AddStmt(S->getPromiseCall());
  360   Record.push_back(S->isImplicit());
  366   Record.AddSourceLocation(E->getKeywordLoc());
  368     Record.AddStmt(S);
  369   Record.AddStmt(E->getOpaqueValue());
  374   Record.push_back(E->isImplicit());
  385   Record.AddSourceLocation(E->getKeywordLoc());
  387     Record.AddStmt(S);
  395   Record.push_back(TemplateArgs.size());
  396   Record.AddNestedNameSpecifierLoc(E->getNestedNameSpecifierLoc());
  397   Record.AddSourceLocation(E->getTemplateKWLoc());
  398   Record.AddSourceLocation(E->getConceptNameLoc());
  399   Record.AddDeclRef(E->getFoundDecl());
  400   Record.AddDeclRef(E->getNamedConcept());
  401   Record.AddASTTemplateArgumentListInfo(E->getTemplateArgsAsWritten());
  403     Record.AddTemplateArgument(Arg);
  404   Record.push_back(E->isSatisfied());
  412   Record.push_back(std::distance(S->capture_begin(), S->capture_end()));
  415   Record.AddDeclRef(S->getCapturedDecl());
  416   Record.push_back(S->getCapturedRegionKind());
  418   Record.AddDeclRef(S->getCapturedRecordDecl());
  422     Record.AddStmt(I);
  425   Record.AddStmt(S->getCapturedStmt());
  430       Record.AddDeclRef(nullptr);
  432       Record.AddDeclRef(I.getCapturedVar());
  433     Record.push_back(I.getCaptureKind());
  434     Record.AddSourceLocation(I.getLocation());
  442   Record.AddTypeRef(E->getType());
  443   Record.push_back(E->isTypeDependent());
  444   Record.push_back(E->isValueDependent());
  445   Record.push_back(E->isInstantiationDependent());
  446   Record.push_back(E->containsUnexpandedParameterPack());
  447   Record.push_back(E->getValueKind());
  448   Record.push_back(E->getObjectKind());
  453   Record.push_back(static_cast<uint64_t>(E->ConstantExprBits.ResultKind));
  456     Record.push_back(E->Int64Result());
  457     Record.push_back(E->ConstantExprBits.IsUnsigned |
  461     Record.AddAPValue(E->APValueResult());
  463   Record.AddStmt(E->getSubExpr());
  471   Record.push_back(HasFunctionName);
  472   Record.push_back(E->getIdentKind()); // FIXME: stable encoding
  473   Record.AddSourceLocation(E->getLocation());
  475     Record.AddStmt(E->getFunctionName());
  482   Record.push_back(E->hasQualifier());
  483   Record.push_back(E->getDecl() != E->getFoundDecl());
  484   Record.push_back(E->hasTemplateKWAndArgsInfo());
  485   Record.push_back(E->hadMultipleCandidates());
  486   Record.push_back(E->refersToEnclosingVariableOrCapture());
  487   Record.push_back(E->isNonOdrUse());
  491     Record.push_back(NumTemplateArgs);
  504     Record.AddNestedNameSpecifierLoc(E->getQualifierLoc());
  507     Record.AddDeclRef(E->getFoundDecl());
  513   Record.AddDeclRef(E->getDecl());
  514   Record.AddSourceLocation(E->getLocation());
  515   Record.AddDeclarationNameLoc(E->DNLoc, E->getDecl()->getDeclName());
  521   Record.AddSourceLocation(E->getLocation());
  522   Record.AddAPInt(E->getValue());
  533   Record.AddSourceLocation(E->getLocation());
  534   Record.AddAPInt(E->getValue());
  540   Record.push_back(E->getRawSemantics());
  541   Record.push_back(E->isExact());
  542   Record.AddAPFloat(E->getValue());
  543   Record.AddSourceLocation(E->getLocation());
  549   Record.AddStmt(E->getSubExpr());
  557   Record.push_back(E->getNumConcatenated());
  558   Record.push_back(E->getLength());
  559   Record.push_back(E->getCharByteWidth());
  560   Record.push_back(E->getKind());
  561   Record.push_back(E->isPascal());
  565     Record.AddSourceLocation(E->getStrTokenLoc(I));
  570     Record.push_back(StrData[I]);
  577   Record.push_back(E->getValue());
  578   Record.AddSourceLocation(E->getLocation());
  579   Record.push_back(E->getKind());
  588   Record.AddSourceLocation(E->getLParen());
  589   Record.AddSourceLocation(E->getRParen());
  590   Record.AddStmt(E->getSubExpr());
  596   Record.push_back(E->getNumExprs());
  598     Record.AddStmt(SubStmt);
  599   Record.AddSourceLocation(E->getLParenLoc());
  600   Record.AddSourceLocation(E->getRParenLoc());
  606   Record.AddStmt(E->getSubExpr());
  607   Record.push_back(E->getOpcode()); // FIXME: stable encoding
  608   Record.AddSourceLocation(E->getOperatorLoc());
  609   Record.push_back(E->canOverflow());
  615   Record.push_back(E->getNumComponents());
  616   Record.push_back(E->getNumExpressions());
  617   Record.AddSourceLocation(E->getOperatorLoc());
  618   Record.AddSourceLocation(E->getRParenLoc());
  619   Record.AddTypeSourceInfo(E->getTypeSourceInfo());
  622     Record.push_back(ON.getKind()); // FIXME: Stable encoding
  623     Record.AddSourceLocation(ON.getSourceRange().getBegin());
  624     Record.AddSourceLocation(ON.getSourceRange().getEnd());
  627       Record.push_back(ON.getArrayExprIndex());
  631       Record.AddDeclRef(ON.getField());
  635       Record.AddIdentifierRef(ON.getFieldName());
  639       Record.AddCXXBaseSpecifier(*ON.getBase());
  644     Record.AddStmt(E->getIndexExpr(I));
  650   Record.push_back(E->getKind());
  652     Record.AddTypeSourceInfo(E->getArgumentTypeInfo());
  654     Record.push_back(0);
  655     Record.AddStmt(E->getArgumentExpr());
  657   Record.AddSourceLocation(E->getOperatorLoc());
  658   Record.AddSourceLocation(E->getRParenLoc());
  664   Record.AddStmt(E->getLHS());
  665   Record.AddStmt(E->getRHS());
  666   Record.AddSourceLocation(E->getRBracketLoc());
  672   Record.AddStmt(E->getBase());
  673   Record.AddStmt(E->getLowerBound());
  674   Record.AddStmt(E->getLength());
  675   Record.AddSourceLocation(E->getColonLoc());
  676   Record.AddSourceLocation(E->getRBracketLoc());
  682   Record.push_back(E->getNumArgs());
  683   Record.AddSourceLocation(E->getRParenLoc());
  684   Record.AddStmt(E->getCallee());
  687     Record.AddStmt(*Arg);
  688   Record.push_back(static_cast<unsigned>(E->getADLCallKind()));
  705   Record.push_back(HasQualifier);
  706   Record.push_back(HasFoundDecl);
  707   Record.push_back(HasTemplateInfo);
  708   Record.push_back(NumTemplateArgs);
  710   Record.AddStmt(E->getBase());
  711   Record.AddDeclRef(E->getMemberDecl());
  712   Record.AddDeclarationNameLoc(E->MemberDNLoc,
  714   Record.AddSourceLocation(E->getMemberLoc());
  715   Record.push_back(E->isArrow());
  716   Record.push_back(E->hadMultipleCandidates());
  717   Record.push_back(E->isNonOdrUse());
  718   Record.AddSourceLocation(E->getOperatorLoc());
  722     Record.AddDeclRef(FoundDecl.getDecl());
  723     Record.push_back(FoundDecl.getAccess());
  727     Record.AddNestedNameSpecifierLoc(E->getQualifierLoc());
  738   Record.AddStmt(E->getBase());
  739   Record.AddSourceLocation(E->getIsaMemberLoc());
  740   Record.AddSourceLocation(E->getOpLoc());
  741   Record.push_back(E->isArrow());
  748   Record.AddStmt(E->getSubExpr());
  749   Record.push_back(E->shouldCopy());
  755   Record.AddSourceLocation(E->getLParenLoc());
  756   Record.AddSourceLocation(E->getBridgeKeywordLoc());
  757   Record.push_back(E->getBridgeKind()); // FIXME: Stable encoding
  763   Record.push_back(E->path_size());
  764   Record.AddStmt(E->getSubExpr());
  765   Record.push_back(E->getCastKind()); // FIXME: stable encoding
  769     Record.AddCXXBaseSpecifier(**PI);
  774   Record.AddStmt(E->getLHS());
  775   Record.AddStmt(E->getRHS());
  776   Record.push_back(E->getOpcode()); // FIXME: stable encoding
  777   Record.AddSourceLocation(E->getOperatorLoc());
  778   Record.push_back(E->getFPFeatures().getInt());
  784   Record.AddTypeRef(E->getComputationLHSType());
  785   Record.AddTypeRef(E->getComputationResultType());
  791   Record.AddStmt(E->getCond());
  792   Record.AddStmt(E->getLHS());
  793   Record.AddStmt(E->getRHS());
  794   Record.AddSourceLocation(E->getQuestionLoc());
  795   Record.AddSourceLocation(E->getColonLoc());
  802   Record.AddStmt(E->getOpaqueValue());
  803   Record.AddStmt(E->getCommon());
  804   Record.AddStmt(E->getCond());
  805   Record.AddStmt(E->getTrueExpr());
  806   Record.AddStmt(E->getFalseExpr());
  807   Record.AddSourceLocation(E->getQuestionLoc());
  808   Record.AddSourceLocation(E->getColonLoc());
  814   Record.push_back(E->isPartOfExplicitCast());
  824   Record.AddTypeSourceInfo(E->getTypeInfoAsWritten());
  829   Record.AddSourceLocation(E->getLParenLoc());
  830   Record.AddSourceLocation(E->getRParenLoc());
  836   Record.AddSourceLocation(E->getLParenLoc());
  837   Record.AddTypeSourceInfo(E->getTypeSourceInfo());
  838   Record.AddStmt(E->getInitializer());
  839   Record.push_back(E->isFileScope());
  845   Record.AddStmt(E->getBase());
  846   Record.AddIdentifierRef(&E->getAccessor());
  847   Record.AddSourceLocation(E->getAccessorLoc());
  855   Record.AddStmt(E->getSyntacticForm());
  856   Record.AddSourceLocation(E->getLBraceLoc());
  857   Record.AddSourceLocation(E->getRBraceLoc());
  859   Record.push_back(isArrayFiller);
  861     Record.AddStmt(E->getArrayFiller());
  863     Record.AddDeclRef(E->getInitializedFieldInUnion());
  864   Record.push_back(E->hadArrayRangeDesignator());
  865   Record.push_back(E->getNumInits());
  871       Record.AddStmt(E->getInit(I) != filler ? E->getInit(I) : nullptr);
  874       Record.AddStmt(E->getInit(I));
  881   Record.push_back(E->getNumSubExprs());
  883     Record.AddStmt(E->getSubExpr(I));
  884   Record.AddSourceLocation(E->getEqualOrColonLoc());
  885   Record.push_back(E->usesGNUSyntax());
  889         Record.push_back(serialization::DESIG_FIELD_DECL);
  890         Record.AddDeclRef(Field);
  892         Record.push_back(serialization::DESIG_FIELD_NAME);
  893         Record.AddIdentifierRef(D.getFieldName());
  895       Record.AddSourceLocation(D.getDotLoc());
  896       Record.AddSourceLocation(D.getFieldLoc());
  898       Record.push_back(serialization::DESIG_ARRAY);
  899       Record.push_back(D.getFirstExprIndex());
  900       Record.AddSourceLocation(D.getLBracketLoc());
  901       Record.AddSourceLocation(D.getRBracketLoc());
  904       Record.push_back(serialization::DESIG_ARRAY_RANGE);
  905       Record.push_back(D.getFirstExprIndex());
  906       Record.AddSourceLocation(D.getLBracketLoc());
  907       Record.AddSourceLocation(D.getEllipsisLoc());
  908       Record.AddSourceLocation(D.getRBracketLoc());
  916   Record.AddStmt(E->getBase());
  917   Record.AddStmt(E->getUpdater());
  928   Record.AddStmt(E->SubExprs[0]);
  929   Record.AddStmt(E->SubExprs[1]);
  945   Record.AddStmt(E->getSubExpr());
  946   Record.AddTypeSourceInfo(E->getWrittenTypeInfo());
  947   Record.AddSourceLocation(E->getBuiltinLoc());
  948   Record.AddSourceLocation(E->getRParenLoc());
  949   Record.push_back(E->isMicrosoftABI());
  955   Record.AddDeclRef(cast_or_null<Decl>(E->getParentContext()));
  956   Record.AddSourceLocation(E->getBeginLoc());
  957   Record.AddSourceLocation(E->getEndLoc());
  958   Record.push_back(E->getIdentKind());
  964   Record.AddSourceLocation(E->getAmpAmpLoc());
  965   Record.AddSourceLocation(E->getLabelLoc());
  966   Record.AddDeclRef(E->getLabel());
  972   Record.AddStmt(E->getSubStmt());
  973   Record.AddSourceLocation(E->getLParenLoc());
  974   Record.AddSourceLocation(E->getRParenLoc());
  980   Record.AddStmt(E->getCond());
  981   Record.AddStmt(E->getLHS());
  982   Record.AddStmt(E->getRHS());
  983   Record.AddSourceLocation(E->getBuiltinLoc());
  984   Record.AddSourceLocation(E->getRParenLoc());
  985   Record.push_back(E->isConditionDependent() ? false : E->isConditionTrue());
  991   Record.AddSourceLocation(E->getTokenLocation());
  997   Record.push_back(E->getNumSubExprs());
  999     Record.AddStmt(E->getExpr(I));
 1000   Record.AddSourceLocation(E->getBuiltinLoc());
 1001   Record.AddSourceLocation(E->getRParenLoc());
 1007   Record.AddSourceLocation(E->getBuiltinLoc());
 1008   Record.AddSourceLocation(E->getRParenLoc());
 1009   Record.AddTypeSourceInfo(E->getTypeSourceInfo());
 1010   Record.AddStmt(E->getSrcExpr());
 1016   Record.AddDeclRef(E->getBlockDecl());
 1023   Record.push_back(E->getNumAssocs());
 1024   Record.push_back(E->ResultIndex);
 1025   Record.AddSourceLocation(E->getGenericLoc());
 1026   Record.AddSourceLocation(E->getDefaultLoc());
 1027   Record.AddSourceLocation(E->getRParenLoc());
 1034     Record.AddStmt(Stmts[I]);
 1038     Record.AddTypeSourceInfo(TSIs[I]);
 1045   Record.push_back(E->getNumSemanticExprs());
 1051   Record.push_back(result);
 1053   Record.AddStmt(E->getSyntacticForm());
 1056     Record.AddStmt(*i);
 1063   Record.push_back(E->getOp());
 1065     Record.AddStmt(E->getSubExprs()[I]);
 1066   Record.AddSourceLocation(E->getBuiltinLoc());
 1067   Record.AddSourceLocation(E->getRParenLoc());
 1077   Record.AddStmt(E->getString());
 1078   Record.AddSourceLocation(E->getAtLoc());
 1084   Record.AddStmt(E->getSubExpr());
 1085   Record.AddDeclRef(E->getBoxingMethod());
 1086   Record.AddSourceRange(E->getSourceRange());
 1092   Record.push_back(E->getNumElements());
 1094     Record.AddStmt(E->getElement(i));
 1095   Record.AddDeclRef(E->getArrayWithObjectsMethod());
 1096   Record.AddSourceRange(E->getSourceRange());
 1102   Record.push_back(E->getNumElements());
 1103   Record.push_back(E->HasPackExpansions);
 1106     Record.AddStmt(Element.Key);
 1107     Record.AddStmt(Element.Value);
 1109       Record.AddSourceLocation(Element.EllipsisLoc);
 1113       Record.push_back(NumExpansions);
 1117   Record.AddDeclRef(E->getDictWithObjectsMethod());
 1118   Record.AddSourceRange(E->getSourceRange());
 1124   Record.AddTypeSourceInfo(E->getEncodedTypeSourceInfo());
 1125   Record.AddSourceLocation(E->getAtLoc());
 1126   Record.AddSourceLocation(E->getRParenLoc());
 1132   Record.AddSelectorRef(E->getSelector());
 1133   Record.AddSourceLocation(E->getAtLoc());
 1134   Record.AddSourceLocation(E->getRParenLoc());
 1140   Record.AddDeclRef(E->getProtocol());
 1141   Record.AddSourceLocation(E->getAtLoc());
 1142   Record.AddSourceLocation(E->ProtoLoc);
 1143   Record.AddSourceLocation(E->getRParenLoc());
 1149   Record.AddDeclRef(E->getDecl());
 1150   Record.AddSourceLocation(E->getLocation());
 1151   Record.AddSourceLocation(E->getOpLoc());
 1152   Record.AddStmt(E->getBase());
 1153   Record.push_back(E->isArrow());
 1154   Record.push_back(E->isFreeIvar());
 1160   Record.push_back(E->SetterAndMethodRefFlags.getInt());
 1161   Record.push_back(E->isImplicitProperty());
 1163     Record.AddDeclRef(E->getImplicitPropertyGetter());
 1164     Record.AddDeclRef(E->getImplicitPropertySetter());
 1166     Record.AddDeclRef(E->getExplicitProperty());
 1168   Record.AddSourceLocation(E->getLocation());
 1169   Record.AddSourceLocation(E->getReceiverLocation());
 1171     Record.push_back(0);
 1172     Record.AddStmt(E->getBase());
 1174     Record.push_back(1);
 1175     Record.AddTypeRef(E->getSuperReceiverType());
 1177     Record.push_back(2);
 1178     Record.AddDeclRef(E->getClassReceiver());
 1186   Record.AddSourceLocation(E->getRBracket());
 1187   Record.AddStmt(E->getBaseExpr());
 1188   Record.AddStmt(E->getKeyExpr());
 1189   Record.AddDeclRef(E->getAtIndexMethodDecl());
 1190   Record.AddDeclRef(E->setAtIndexMethodDecl());
 1197   Record.push_back(E->getNumArgs());
 1198   Record.push_back(E->getNumStoredSelLocs());
 1199   Record.push_back(E->SelLocsKind);
 1200   Record.push_back(E->isDelegateInitCall());
 1201   Record.push_back(E->IsImplicit);
 1202   Record.push_back((unsigned)E->getReceiverKind()); // FIXME: stable encoding
 1205     Record.AddStmt(E->getInstanceReceiver());
 1209     Record.AddTypeSourceInfo(E->getClassReceiverTypeInfo());
 1214     Record.AddTypeRef(E->getSuperType());
 1215     Record.AddSourceLocation(E->getSuperLoc());
 1220     Record.push_back(1);
 1221     Record.AddDeclRef(E->getMethodDecl());
 1223     Record.push_back(0);
 1224     Record.AddSelectorRef(E->getSelector());
 1227   Record.AddSourceLocation(E->getLeftLoc());
 1228   Record.AddSourceLocation(E->getRightLoc());
 1232     Record.AddStmt(*Arg);
 1236     Record.AddSourceLocation(Locs[i]);
 1243   Record.AddStmt(S->getElement());
 1244   Record.AddStmt(S->getCollection());
 1245   Record.AddStmt(S->getBody());
 1246   Record.AddSourceLocation(S->getForLoc());
 1247   Record.AddSourceLocation(S->getRParenLoc());
 1253   Record.AddStmt(S->getCatchBody());
 1254   Record.AddDeclRef(S->getCatchParamDecl());
 1255   Record.AddSourceLocation(S->getAtCatchLoc());
 1256   Record.AddSourceLocation(S->getRParenLoc());
 1262   Record.AddStmt(S->getFinallyBody());
 1263   Record.AddSourceLocation(S->getAtFinallyLoc());
 1269   Record.AddStmt(S->getSubStmt());
 1270   Record.AddSourceLocation(S->getAtLoc());
 1276   Record.push_back(S->getNumCatchStmts());
 1277   Record.push_back(S->getFinallyStmt() != nullptr);
 1278   Record.AddStmt(S->getTryBody());
 1280     Record.AddStmt(S->getCatchStmt(I));
 1282     Record.AddStmt(S->getFinallyStmt());
 1283   Record.AddSourceLocation(S->getAtTryLoc());
 1289   Record.AddStmt(S->getSynchExpr());
 1290   Record.AddStmt(S->getSynchBody());
 1291   Record.AddSourceLocation(S->getAtSynchronizedLoc());
 1297   Record.AddStmt(S->getThrowExpr());
 1298   Record.AddSourceLocation(S->getThrowLoc());
 1304   Record.push_back(E->getValue());
 1305   Record.AddSourceLocation(E->getLocation());
 1311   Record.AddSourceRange(E->getSourceRange());
 1312   Record.AddVersionTuple(E->getVersion());
 1322   Record.AddSourceLocation(S->getCatchLoc());
 1323   Record.AddDeclRef(S->getExceptionDecl());
 1324   Record.AddStmt(S->getHandlerBlock());
 1330   Record.push_back(S->getNumHandlers());
 1331   Record.AddSourceLocation(S->getTryLoc());
 1332   Record.AddStmt(S->getTryBlock());
 1334     Record.AddStmt(S->getHandler(i));
 1340   Record.AddSourceLocation(S->getForLoc());
 1341   Record.AddSourceLocation(S->getCoawaitLoc());
 1342   Record.AddSourceLocation(S->getColonLoc());
 1343   Record.AddSourceLocation(S->getRParenLoc());
 1344   Record.AddStmt(S->getInit());
 1345   Record.AddStmt(S->getRangeStmt());
 1346   Record.AddStmt(S->getBeginStmt());
 1347   Record.AddStmt(S->getEndStmt());
 1348   Record.AddStmt(S->getCond());
 1349   Record.AddStmt(S->getInc());
 1350   Record.AddStmt(S->getLoopVarStmt());
 1351   Record.AddStmt(S->getBody());
 1357   Record.AddSourceLocation(S->getKeywordLoc());
 1358   Record.push_back(S->isIfExists());
 1359   Record.AddNestedNameSpecifierLoc(S->getQualifierLoc());
 1360   Record.AddDeclarationNameInfo(S->getNameInfo());
 1361   Record.AddStmt(S->getSubStmt());
 1367   Record.push_back(E->getOperator());
 1368   Record.push_back(E->getFPFeatures().getInt());
 1369   Record.AddSourceRange(E->Range);
 1381   Record.push_back(E->isReversed());
 1382   Record.AddStmt(E->getSemanticForm());
 1389   Record.push_back(E->getNumArgs());
 1390   Record.push_back(E->isElidable());
 1391   Record.push_back(E->hadMultipleCandidates());
 1392   Record.push_back(E->isListInitialization());
 1393   Record.push_back(E->isStdInitListInitialization());
 1394   Record.push_back(E->requiresZeroInitialization());
 1395   Record.push_back(E->getConstructionKind()); // FIXME: stable encoding
 1396   Record.AddSourceLocation(E->getLocation());
 1397   Record.AddDeclRef(E->getConstructor());
 1398   Record.AddSourceRange(E->getParenOrBraceRange());
 1401     Record.AddStmt(E->getArg(I));
 1408   Record.AddDeclRef(E->getConstructor());
 1409   Record.AddSourceLocation(E->getLocation());
 1410   Record.push_back(E->constructsVBase());
 1411   Record.push_back(E->inheritedFromVBase());
 1417   Record.AddTypeSourceInfo(E->getTypeSourceInfo());
 1423   Record.push_back(E->NumCaptures);
 1424   Record.AddSourceRange(E->IntroducerRange);
 1425   Record.push_back(E->CaptureDefault); // FIXME: stable encoding
 1426   Record.AddSourceLocation(E->CaptureDefaultLoc);
 1427   Record.push_back(E->ExplicitParams);
 1428   Record.push_back(E->ExplicitResultType);
 1429   Record.AddSourceLocation(E->ClosingBrace);
 1435     Record.AddStmt(*C);
 1443   Record.AddStmt(E->getSubExpr());
 1449   Record.AddSourceRange(SourceRange(E->getOperatorLoc(), E->getRParenLoc()));
 1450   Record.AddSourceRange(E->getAngleBrackets());
 1475   Record.AddSourceLocation(E->getLParenLoc());
 1476   Record.AddSourceLocation(E->getRParenLoc());
 1482   Record.AddSourceLocation(E->getBeginLoc());
 1483   Record.AddSourceLocation(E->getEndLoc());
 1488   Record.AddSourceLocation(E->UDSuffixLoc);
 1494   Record.push_back(E->getValue());
 1495   Record.AddSourceLocation(E->getLocation());
 1501   Record.AddSourceLocation(E->getLocation());
 1507   Record.AddSourceRange(E->getSourceRange());
 1509     Record.AddTypeSourceInfo(E->getTypeOperandSourceInfo());
 1512     Record.AddStmt(E->getExprOperand());
 1519   Record.AddSourceLocation(E->getLocation());
 1520   Record.push_back(E->isImplicit());
 1526   Record.AddSourceLocation(E->getThrowLoc());
 1527   Record.AddStmt(E->getSubExpr());
 1528   Record.push_back(E->isThrownVariableInScope());
 1534   Record.AddDeclRef(E->getParam());
 1535   Record.AddDeclRef(cast_or_null<Decl>(E->getUsedContext()));
 1536   Record.AddSourceLocation(E->getUsedLocation());
 1542   Record.AddDeclRef(E->getField());
 1543   Record.AddDeclRef(cast_or_null<Decl>(E->getUsedContext()));
 1544   Record.AddSourceLocation(E->getExprLoc());
 1550   Record.AddCXXTemporary(E->getTemporary());
 1551   Record.AddStmt(E->getSubExpr());
 1557   Record.AddTypeSourceInfo(E->getTypeSourceInfo());
 1558   Record.AddSourceLocation(E->getRParenLoc());
 1565   Record.push_back(E->isArray());
 1566   Record.push_back(E->hasInitializer());
 1567   Record.push_back(E->getNumPlacementArgs());
 1568   Record.push_back(E->isParenTypeId());
 1570   Record.push_back(E->isGlobalNew());
 1571   Record.push_back(E->passAlignment());
 1572   Record.push_back(E->doesUsualArrayDeleteWantSize());
 1573   Record.push_back(E->CXXNewExprBits.StoredInitializationStyle);
 1575   Record.AddDeclRef(E->getOperatorNew());
 1576   Record.AddDeclRef(E->getOperatorDelete());
 1577   Record.AddTypeSourceInfo(E->getAllocatedTypeSourceInfo());
 1579     Record.AddSourceRange(E->getTypeIdParens());
 1580   Record.AddSourceRange(E->getSourceRange());
 1581   Record.AddSourceRange(E->getDirectInitRange());
 1585     Record.AddStmt(*I);
 1592   Record.push_back(E->isGlobalDelete());
 1593   Record.push_back(E->isArrayForm());
 1594   Record.push_back(E->isArrayFormAsWritten());
 1595   Record.push_back(E->doesUsualArrayDeleteWantSize());
 1596   Record.AddDeclRef(E->getOperatorDelete());
 1597   Record.AddStmt(E->getArgument());
 1598   Record.AddSourceLocation(E->getBeginLoc());
 1606   Record.AddStmt(E->getBase());
 1607   Record.push_back(E->isArrow());
 1608   Record.AddSourceLocation(E->getOperatorLoc());
 1609   Record.AddNestedNameSpecifierLoc(E->getQualifierLoc());
 1610   Record.AddTypeSourceInfo(E->getScopeTypeInfo());
 1611   Record.AddSourceLocation(E->getColonColonLoc());
 1612   Record.AddSourceLocation(E->getTildeLoc());
 1615   Record.AddIdentifierRef(E->getDestroyedTypeIdentifier());
 1617     Record.AddSourceLocation(E->getDestroyedTypeLoc());
 1619     Record.AddTypeSourceInfo(E->getDestroyedTypeInfo());
 1626   Record.push_back(E->getNumObjects());
 1628     Record.AddDeclRef(E->getObject(i));
 1630   Record.push_back(E->cleanupsHaveSideEffects());
 1631   Record.AddStmt(E->getSubExpr());
 1642   Record.push_back(E->hasTemplateKWAndArgsInfo());
 1643   Record.push_back(E->getNumTemplateArgs());
 1644   Record.push_back(E->hasFirstQualifierFoundInScope());
 1653   Record.push_back(E->isArrow());
 1654   Record.AddSourceLocation(E->getOperatorLoc());
 1655   Record.AddTypeRef(E->getBaseType());
 1656   Record.AddNestedNameSpecifierLoc(E->getQualifierLoc());
 1658     Record.AddStmt(E->getBase());
 1660     Record.AddStmt(nullptr);
 1663     Record.AddDeclRef(E->getFirstQualifierFoundInScope());
 1665   Record.AddDeclarationNameInfo(E->MemberNameInfo);
 1676   Record.push_back(E->DependentScopeDeclRefExprBits.HasTemplateKWAndArgsInfo);
 1680     Record.push_back(ArgInfo.NumTemplateArgs);
 1685   Record.AddNestedNameSpecifierLoc(E->getQualifierLoc());
 1686   Record.AddDeclarationNameInfo(E->NameInfo);
 1693   Record.push_back(E->arg_size());
 1696     Record.AddStmt(*ArgI);
 1697   Record.AddTypeSourceInfo(E->getTypeSourceInfo());
 1698   Record.AddSourceLocation(E->getLParenLoc());
 1699   Record.AddSourceLocation(E->getRParenLoc());
 1706   Record.push_back(E->getNumDecls());
 1707   Record.push_back(E->hasTemplateKWAndArgsInfo());
 1711     Record.push_back(ArgInfo.NumTemplateArgs);
 1718     Record.AddDeclRef(OvI.getDecl());
 1719     Record.push_back(OvI.getAccess());
 1722   Record.AddDeclarationNameInfo(E->getNameInfo());
 1723   Record.AddNestedNameSpecifierLoc(E->getQualifierLoc());
 1728   Record.push_back(E->isArrow());
 1729   Record.push_back(E->hasUnresolvedUsing());
 1730   Record.AddStmt(!E->isImplicitAccess() ? E->getBase() : nullptr);
 1731   Record.AddTypeRef(E->getBaseType());
 1732   Record.AddSourceLocation(E->getOperatorLoc());
 1738   Record.push_back(E->requiresADL());
 1739   Record.push_back(E->isOverloaded());
 1740   Record.AddDeclRef(E->getNamingClass());
 1746   Record.push_back(E->TypeTraitExprBits.NumArgs);
 1747   Record.push_back(E->TypeTraitExprBits.Kind); // FIXME: Stable encoding
 1748   Record.push_back(E->TypeTraitExprBits.Value);
 1749   Record.AddSourceRange(E->getSourceRange());
 1751     Record.AddTypeSourceInfo(E->getArg(I));
 1757   Record.push_back(E->getTrait());
 1758   Record.push_back(E->getValue());
 1759   Record.AddSourceRange(E->getSourceRange());
 1760   Record.AddTypeSourceInfo(E->getQueriedTypeSourceInfo());
 1761   Record.AddStmt(E->getDimensionExpression());
 1767   Record.push_back(E->getTrait());
 1768   Record.push_back(E->getValue());
 1769   Record.AddSourceRange(E->getSourceRange());
 1770   Record.AddStmt(E->getQueriedExpression());
 1776   Record.push_back(E->getValue());
 1777   Record.AddSourceRange(E->getSourceRange());
 1778   Record.AddStmt(E->getOperand());
 1784   Record.AddSourceLocation(E->getEllipsisLoc());
 1785   Record.push_back(E->NumExpansions);
 1786   Record.AddStmt(E->getPattern());
 1792   Record.push_back(E->isPartiallySubstituted() ? E->getPartialArguments().size()
 1794   Record.AddSourceLocation(E->OperatorLoc);
 1795   Record.AddSourceLocation(E->PackLoc);
 1796   Record.AddSourceLocation(E->RParenLoc);
 1797   Record.AddDeclRef(E->Pack);
 1800       Record.AddTemplateArgument(TA);
 1802     Record.push_back(E->getPackLength());
 1810   Record.AddDeclRef(E->getParameter());
 1811   Record.AddSourceLocation(E->getNameLoc());
 1812   Record.AddStmt(E->getReplacement());
 1819   Record.AddDeclRef(E->getParameterPack());
 1820   Record.AddTemplateArgument(E->getArgumentPack());
 1821   Record.AddSourceLocation(E->getParameterPackLocation());
 1827   Record.push_back(E->getNumExpansions());
 1828   Record.AddDeclRef(E->getParameterPack());
 1829   Record.AddSourceLocation(E->getParameterPackLocation());
 1832     Record.AddDeclRef(*I);
 1838   Record.AddStmt(E->getTemporary());
 1839   Record.AddDeclRef(E->getExtendingDecl());
 1840   Record.push_back(E->getManglingNumber());
 1846   Record.AddSourceLocation(E->LParenLoc);
 1847   Record.AddSourceLocation(E->EllipsisLoc);
 1848   Record.AddSourceLocation(E->RParenLoc);
 1849   Record.push_back(E->NumExpansions);
 1850   Record.AddStmt(E->SubExprs[0]);
 1851   Record.AddStmt(E->SubExprs[1]);
 1852   Record.push_back(E->Opcode);
 1858   Record.AddStmt(E->getSourceExpr());
 1859   Record.AddSourceLocation(E->getLocation());
 1860   Record.push_back(E->isUnique());
 1876   Record.AddStmt(E->getConfig());
 1885   Record.AddSourceLocation(E->getBuiltinLoc());
 1886   Record.AddSourceLocation(E->getRParenLoc());
 1887   Record.AddStmt(E->getSrcExpr());
 1896   Record.push_back(E->isArrow());
 1897   Record.AddStmt(E->getBaseExpr());
 1898   Record.AddNestedNameSpecifierLoc(E->getQualifierLoc());
 1899   Record.AddSourceLocation(E->getMemberLoc());
 1900   Record.AddDeclRef(E->getPropertyDecl());
 1906   Record.AddStmt(E->getBase());
 1907   Record.AddStmt(E->getIdx());
 1908   Record.AddSourceLocation(E->getRBracketLoc());
 1914   Record.AddSourceRange(E->getSourceRange());
 1915   Record.AddString(E->getUuidStr());
 1917     Record.AddTypeSourceInfo(E->getTypeOperandSourceInfo());
 1920     Record.AddStmt(E->getExprOperand());
 1927   Record.AddSourceLocation(S->getExceptLoc());
 1928   Record.AddStmt(S->getFilterExpr());
 1929   Record.AddStmt(S->getBlock());
 1935   Record.AddSourceLocation(S->getFinallyLoc());
 1936   Record.AddStmt(S->getBlock());
 1942   Record.push_back(S->getIsCXXTry());
 1943   Record.AddSourceLocation(S->getTryLoc());
 1944   Record.AddStmt(S->getTryBlock());
 1945   Record.AddStmt(S->getHandler());
 1951   Record.AddSourceLocation(S->getLeaveLoc());
 1959   Record.AddSourceLocation(E->getBeginLoc());
 1960   Record.AddSourceLocation(E->getEndLoc());
 1961   OMPClauseWriter ClauseWriter(Record);
 1966     Record.AddStmt(E->getAssociatedStmt());
 1971   Record.push_back(D->getNumClauses());
 1972   Record.push_back(D->getCollapsedNumber());
 1974   Record.AddStmt(D->getIterationVariable());
 1975   Record.AddStmt(D->getLastIteration());
 1976   Record.AddStmt(D->getCalcLastIteration());
 1977   Record.AddStmt(D->getPreCond());
 1978   Record.AddStmt(D->getCond());
 1979   Record.AddStmt(D->getInit());
 1980   Record.AddStmt(D->getInc());
 1981   Record.AddStmt(D->getPreInits());
 1985     Record.AddStmt(D->getIsLastIterVariable());
 1986     Record.AddStmt(D->getLowerBoundVariable());
 1987     Record.AddStmt(D->getUpperBoundVariable());
 1988     Record.AddStmt(D->getStrideVariable());
 1989     Record.AddStmt(D->getEnsureUpperBound());
 1990     Record.AddStmt(D->getNextLowerBound());
 1991     Record.AddStmt(D->getNextUpperBound());
 1992     Record.AddStmt(D->getNumIterations());
 1995     Record.AddStmt(D->getPrevLowerBoundVariable());
 1996     Record.AddStmt(D->getPrevUpperBoundVariable());
 1997     Record.AddStmt(D->getDistInc());
 1998     Record.AddStmt(D->getPrevEnsureUpperBound());
 1999     Record.AddStmt(D->getCombinedLowerBoundVariable());
 2000     Record.AddStmt(D->getCombinedUpperBoundVariable());
 2001     Record.AddStmt(D->getCombinedEnsureUpperBound());
 2002     Record.AddStmt(D->getCombinedInit());
 2003     Record.AddStmt(D->getCombinedCond());
 2004     Record.AddStmt(D->getCombinedNextLowerBound());
 2005     Record.AddStmt(D->getCombinedNextUpperBound());
 2006     Record.AddStmt(D->getCombinedDistCond());
 2007     Record.AddStmt(D->getCombinedParForInDistCond());
 2010     Record.AddStmt(I);
 2013     Record.AddStmt(I);
 2016     Record.AddStmt(I);
 2019     Record.AddStmt(I);
 2022     Record.AddStmt(I);
 2025     Record.AddStmt(S);
 2027     Record.AddStmt(S);
 2029     Record.AddStmt(S);
 2034   Record.push_back(D->getNumClauses());
 2036   Record.push_back(D->hasCancel() ? 1 : 0);
 2047   Record.push_back(D->hasCancel() ? 1 : 0);
 2058   Record.push_back(D->getNumClauses());
 2060   Record.push_back(D->hasCancel() ? 1 : 0);
 2067   Record.push_back(D->hasCancel() ? 1 : 0);
 2073   Record.push_back(D->getNumClauses());
 2086   Record.push_back(D->getNumClauses());
 2088   Record.AddDeclarationNameInfo(D->getDirectiveName());
 2094   Record.push_back(D->hasCancel() ? 1 : 0);
 2107   Record.push_back(D->getNumClauses());
 2109   Record.push_back(D->hasCancel() ? 1 : 0);
 2115   Record.push_back(D->getNumClauses());
 2117   Record.push_back(D->hasCancel() ? 1 : 0);
 2123   Record.push_back(D->getNumClauses());
 2125   Record.AddStmt(D->getX());
 2126   Record.AddStmt(D->getV());
 2127   Record.AddStmt(D->getExpr());
 2128   Record.AddStmt(D->getUpdateExpr());
 2129   Record.push_back(D->isXLHSInRHSPart() ? 1 : 0);
 2130   Record.push_back(D->isPostfixUpdate() ? 1 : 0);
 2136   Record.push_back(D->getNumClauses());
 2143   Record.push_back(D->getNumClauses());
 2151   Record.push_back(D->getNumClauses());
 2159   Record.push_back(D->getNumClauses());
 2167   Record.push_back(D->getNumClauses());
 2175   Record.push_back(D->hasCancel() ? 1 : 0);
 2199   Record.push_back(D->getNumClauses());
 2201   Record.AddStmt(D->getReductionRef());
 2207   Record.push_back(D->getNumClauses());
 2214   Record.push_back(D->getNumClauses());
 2221   Record.push_back(D->getNumClauses());
 2230   Record.push_back(D->getCancelRegion());
 2236   Record.push_back(D->getNumClauses());
 2238   Record.push_back(D->getCancelRegion());
 2277   Record.push_back(D->getNumClauses());
 2285   Record.push_back(D->hasCancel() ? 1 : 0);
 2333   Record.push_back(D->hasCancel() ? 1 : 0);
 2339   Record.push_back(D->getNumClauses());
 2353   Record.push_back(D->hasCancel() ? 1 : 0);