Lines Matching full:record
39 RecordData &Record; member in clang::ASTDeclWriter
45 ASTDeclWriter(ASTWriter &Writer, ASTContext &Context, RecordData &Record) in ASTDeclWriter() argument
46 : Writer(Writer), Context(Context), Record(Record) { in ASTDeclWriter()
135 /// Add an Objective-C type parameter list to the given record.
139 Record.push_back(0); in AddObjCTypeParamList()
143 Record.push_back(typeParams->size()); in AddObjCTypeParamList()
145 Writer.AddDeclRef(typeParam, Record); in AddObjCTypeParamList()
147 Writer.AddSourceLocation(typeParams->getLAngleLoc(), Record); in AddObjCTypeParamList()
148 Writer.AddSourceLocation(typeParams->getRAngleLoc(), Record); in AddObjCTypeParamList()
154 Record.push_back(CD->NumCtorInitializers); in AddFunctionDefinition()
157 llvm::makeArrayRef(CD->init_begin(), CD->init_end()), Record); in AddFunctionDefinition()
162 /// Add to the record the first declaration from each module file that
175 Writer.AddDeclRef(F.second, Record); in AddFirstDeclFromEachModule()
213 // Add a slot to the record for the number of specializations. in AddTemplateSpecializations()
214 unsigned I = Record.size(); in AddTemplateSpecializations()
215 Record.push_back(0); in AddTemplateSpecializations()
227 Record.append(LazySpecializations.begin(), LazySpecializations.end()); in AddTemplateSpecializations()
230 Record[I] = Record.size() - I - 1; in AddTemplateSpecializations()
242 // the template, to avoid emitting an update record. in RegisterTemplateSpecialization()
264 Writer.AddTypeSourceInfo(DD->getTypeSourceInfo(), Record); in Visit()
271 Record.push_back(FD->doesThisDeclarationHaveABody()); in Visit()
278 Writer.AddDeclRef(cast_or_null<Decl>(D->getDeclContext()), Record); in VisitDecl()
280 Writer.AddDeclRef(cast_or_null<Decl>(D->getLexicalDeclContext()), Record); in VisitDecl()
282 Record.push_back(0); in VisitDecl()
283 Record.push_back(D->isInvalidDecl()); in VisitDecl()
284 Record.push_back(D->hasAttrs()); in VisitDecl()
287 D->getAttrs().size()), Record); in VisitDecl()
288 Record.push_back(D->isImplicit()); in VisitDecl()
289 Record.push_back(D->isUsed(false)); in VisitDecl()
290 Record.push_back(D->isReferenced()); in VisitDecl()
291 Record.push_back(D->isTopLevelDeclInObjCContainer()); in VisitDecl()
292 Record.push_back(D->getAccess()); in VisitDecl()
293 Record.push_back(D->isModulePrivate()); in VisitDecl()
294 Record.push_back(Writer.inferSubmoduleIDFromLocation(D->getLocation())); in VisitDecl()
323 Writer.AddDeclarationName(D->getDeclName(), Record); in VisitNamedDecl()
324 Record.push_back(needsAnonymousDeclarationNumber(D) in VisitNamedDecl()
331 Writer.AddSourceLocation(D->getLocStart(), Record); in VisitTypeDecl()
332 Writer.AddTypeRef(QualType(D->getTypeForDecl(), 0), Record); in VisitTypeDecl()
338 Writer.AddTypeSourceInfo(D->getTypeSourceInfo(), Record); in VisitTypedefNameDecl()
339 Record.push_back(D->isModed()); in VisitTypedefNameDecl()
341 Writer.AddTypeRef(D->getUnderlyingType(), Record); in VisitTypedefNameDecl()
362 Writer.AddDeclRef(D->getDescribedAliasTemplate(), Record); in VisitTypeAliasDecl()
369 Record.push_back(D->getIdentifierNamespace()); in VisitTagDecl()
370 Record.push_back((unsigned)D->getTagKind()); // FIXME: stable encoding in VisitTagDecl()
372 Record.push_back(D->isCompleteDefinition()); in VisitTagDecl()
373 Record.push_back(D->isEmbeddedInDeclarator()); in VisitTagDecl()
374 Record.push_back(D->isFreeStanding()); in VisitTagDecl()
375 Record.push_back(D->isCompleteDefinitionRequired()); in VisitTagDecl()
376 Writer.AddSourceLocation(D->getRBraceLoc(), Record); in VisitTagDecl()
379 Record.push_back(1); in VisitTagDecl()
380 Writer.AddQualifierInfo(*D->getExtInfo(), Record); in VisitTagDecl()
382 Record.push_back(2); in VisitTagDecl()
383 Writer.AddDeclRef(TD, Record); in VisitTagDecl()
384 Writer.AddIdentifierRef(TD->getDeclName().getAsIdentifierInfo(), Record); in VisitTagDecl()
386 Record.push_back(0); in VisitTagDecl()
392 Writer.AddTypeSourceInfo(D->getIntegerTypeSourceInfo(), Record); in VisitEnumDecl()
394 Writer.AddTypeRef(D->getIntegerType(), Record); in VisitEnumDecl()
395 Writer.AddTypeRef(D->getPromotionType(), Record); in VisitEnumDecl()
396 Record.push_back(D->getNumPositiveBits()); in VisitEnumDecl()
397 Record.push_back(D->getNumNegativeBits()); in VisitEnumDecl()
398 Record.push_back(D->isScoped()); in VisitEnumDecl()
399 Record.push_back(D->isScopedUsingClassTag()); in VisitEnumDecl()
400 Record.push_back(D->isFixed()); in VisitEnumDecl()
402 Writer.AddDeclRef(MemberInfo->getInstantiatedFrom(), Record); in VisitEnumDecl()
403 Record.push_back(MemberInfo->getTemplateSpecializationKind()); in VisitEnumDecl()
404 Writer.AddSourceLocation(MemberInfo->getPointOfInstantiation(), Record); in VisitEnumDecl()
406 Writer.AddDeclRef(nullptr, Record); in VisitEnumDecl()
433 Record.push_back(D->hasFlexibleArrayMember()); in VisitRecordDecl()
434 Record.push_back(D->isAnonymousStructOrUnion()); in VisitRecordDecl()
435 Record.push_back(D->hasObjectMember()); in VisitRecordDecl()
436 Record.push_back(D->hasVolatileMember()); in VisitRecordDecl()
460 Writer.AddTypeRef(D->getType(), Record); in VisitValueDecl()
465 Record.push_back(D->getInitExpr()? 1 : 0); in VisitEnumConstantDecl()
468 Writer.AddAPSInt(D->getInitVal(), Record); in VisitEnumConstantDecl()
475 Writer.AddSourceLocation(D->getInnerLocStart(), Record); in VisitDeclaratorDecl()
476 Record.push_back(D->hasExtInfo()); in VisitDeclaratorDecl()
478 Writer.AddQualifierInfo(*D->getExtInfo(), Record); in VisitDeclaratorDecl()
484 Writer.AddDeclarationNameLoc(D->DNLoc, D->getDeclName(), Record); in VisitFunctionDecl()
485 Record.push_back(D->getIdentifierNamespace()); in VisitFunctionDecl()
490 Record.push_back((int)D->SClass); // FIXME: stable encoding in VisitFunctionDecl()
491 Record.push_back(D->IsInline); in VisitFunctionDecl()
492 Record.push_back(D->IsInlineSpecified); in VisitFunctionDecl()
493 Record.push_back(D->IsVirtualAsWritten); in VisitFunctionDecl()
494 Record.push_back(D->IsPure); in VisitFunctionDecl()
495 Record.push_back(D->HasInheritedPrototype); in VisitFunctionDecl()
496 Record.push_back(D->HasWrittenPrototype); in VisitFunctionDecl()
497 Record.push_back(D->IsDeleted); in VisitFunctionDecl()
498 Record.push_back(D->IsTrivial); in VisitFunctionDecl()
499 Record.push_back(D->IsDefaulted); in VisitFunctionDecl()
500 Record.push_back(D->IsExplicitlyDefaulted); in VisitFunctionDecl()
501 Record.push_back(D->HasImplicitReturnZero); in VisitFunctionDecl()
502 Record.push_back(D->IsConstexpr); in VisitFunctionDecl()
503 Record.push_back(D->HasSkippedBody); in VisitFunctionDecl()
504 Record.push_back(D->IsLateTemplateParsed); in VisitFunctionDecl()
505 Record.push_back(D->getLinkageInternal()); in VisitFunctionDecl()
506 Writer.AddSourceLocation(D->getLocEnd(), Record); in VisitFunctionDecl()
508 Record.push_back(D->getTemplatedKind()); in VisitFunctionDecl()
513 Writer.AddDeclRef(D->getDescribedFunctionTemplate(), Record); in VisitFunctionDecl()
517 Writer.AddDeclRef(MemberInfo->getInstantiatedFrom(), Record); in VisitFunctionDecl()
518 Record.push_back(MemberInfo->getTemplateSpecializationKind()); in VisitFunctionDecl()
519 Writer.AddSourceLocation(MemberInfo->getPointOfInstantiation(), Record); in VisitFunctionDecl()
528 Writer.AddDeclRef(FTSInfo->getTemplate(), Record); in VisitFunctionDecl()
529 Record.push_back(FTSInfo->getTemplateSpecializationKind()); in VisitFunctionDecl()
532 Writer.AddTemplateArgumentList(FTSInfo->TemplateArguments, Record); in VisitFunctionDecl()
535 Record.push_back(FTSInfo->TemplateArgumentsAsWritten != nullptr); in VisitFunctionDecl()
537 Record.push_back(FTSInfo->TemplateArgumentsAsWritten->NumTemplateArgs); in VisitFunctionDecl()
541 Record); in VisitFunctionDecl()
543 Record); in VisitFunctionDecl()
545 Record); in VisitFunctionDecl()
548 Writer.AddSourceLocation(FTSInfo->getPointOfInstantiation(), Record); in VisitFunctionDecl()
553 Writer.AddDeclRef(FTSInfo->getTemplate()->getCanonicalDecl(), Record); in VisitFunctionDecl()
562 Record.push_back(DFTSInfo->getNumTemplates()); in VisitFunctionDecl()
564 Writer.AddDeclRef(DFTSInfo->getTemplate(i), Record); in VisitFunctionDecl()
567 Record.push_back(DFTSInfo->getNumTemplateArgs()); in VisitFunctionDecl()
569 Writer.AddTemplateArgumentLoc(DFTSInfo->getTemplateArg(i), Record); in VisitFunctionDecl()
570 Writer.AddSourceLocation(DFTSInfo->getLAngleLoc(), Record); in VisitFunctionDecl()
571 Writer.AddSourceLocation(DFTSInfo->getRAngleLoc(), Record); in VisitFunctionDecl()
576 Record.push_back(D->param_size()); in VisitFunctionDecl()
578 Writer.AddDeclRef(P, Record); in VisitFunctionDecl()
588 Record.push_back(HasBodyStuff); in VisitObjCMethodDecl()
591 Writer.AddDeclRef(D->getSelfDecl(), Record); in VisitObjCMethodDecl()
592 Writer.AddDeclRef(D->getCmdDecl(), Record); in VisitObjCMethodDecl()
594 Record.push_back(D->isInstanceMethod()); in VisitObjCMethodDecl()
595 Record.push_back(D->isVariadic()); in VisitObjCMethodDecl()
596 Record.push_back(D->isPropertyAccessor()); in VisitObjCMethodDecl()
597 Record.push_back(D->isDefined()); in VisitObjCMethodDecl()
598 Record.push_back(D->IsOverriding); in VisitObjCMethodDecl()
599 Record.push_back(D->HasSkippedBody); in VisitObjCMethodDecl()
601 Record.push_back(D->IsRedeclaration); in VisitObjCMethodDecl()
602 Record.push_back(D->HasRedeclaration); in VisitObjCMethodDecl()
605 Writer.AddDeclRef(Context.getObjCMethodRedeclaration(D), Record); in VisitObjCMethodDecl()
609 Record.push_back(D->getImplementationControl()); in VisitObjCMethodDecl()
611 Record.push_back(D->getObjCDeclQualifier()); in VisitObjCMethodDecl()
612 Record.push_back(D->hasRelatedResultType()); in VisitObjCMethodDecl()
613 Writer.AddTypeRef(D->getReturnType(), Record); in VisitObjCMethodDecl()
614 Writer.AddTypeSourceInfo(D->getReturnTypeSourceInfo(), Record); in VisitObjCMethodDecl()
615 Writer.AddSourceLocation(D->getLocEnd(), Record); in VisitObjCMethodDecl()
616 Record.push_back(D->param_size()); in VisitObjCMethodDecl()
618 Writer.AddDeclRef(P, Record); in VisitObjCMethodDecl()
620 Record.push_back(D->SelLocsKind); in VisitObjCMethodDecl()
623 Record.push_back(NumStoredSelLocs); in VisitObjCMethodDecl()
625 Writer.AddSourceLocation(SelLocs[i], Record); in VisitObjCMethodDecl()
632 Record.push_back(D->Variance); in VisitObjCTypeParamDecl()
633 Record.push_back(D->Index); in VisitObjCTypeParamDecl()
634 Writer.AddSourceLocation(D->VarianceLoc, Record); in VisitObjCTypeParamDecl()
635 Writer.AddSourceLocation(D->ColonLoc, Record); in VisitObjCTypeParamDecl()
642 Writer.AddSourceLocation(D->getAtStartLoc(), Record); in VisitObjCContainerDecl()
643 Writer.AddSourceRange(D->getAtEndRange(), Record); in VisitObjCContainerDecl()
650 Writer.AddTypeRef(QualType(D->getTypeForDecl(), 0), Record); in VisitObjCInterfaceDecl()
653 Record.push_back(D->isThisDeclarationADefinition()); in VisitObjCInterfaceDecl()
658 Writer.AddTypeSourceInfo(D->getSuperClassTInfo(), Record); in VisitObjCInterfaceDecl()
659 Writer.AddSourceLocation(D->getEndOfDefinitionLoc(), Record); in VisitObjCInterfaceDecl()
660 Record.push_back(Data.HasDesignatedInitializers); in VisitObjCInterfaceDecl()
663 Record.push_back(Data.ReferencedProtocols.size()); in VisitObjCInterfaceDecl()
665 Writer.AddDeclRef(P, Record); in VisitObjCInterfaceDecl()
667 Writer.AddSourceLocation(PL, Record); in VisitObjCInterfaceDecl()
670 Record.push_back(Data.AllReferencedProtocols.size()); in VisitObjCInterfaceDecl()
675 Writer.AddDeclRef(*P, Record); in VisitObjCInterfaceDecl()
694 Record.push_back(D->getAccessControl()); in VisitObjCIvarDecl()
695 Record.push_back(D->getSynthesize()); in VisitObjCIvarDecl()
716 Record.push_back(D->isThisDeclarationADefinition()); in VisitObjCProtocolDecl()
718 Record.push_back(D->protocol_size()); in VisitObjCProtocolDecl()
720 Writer.AddDeclRef(I, Record); in VisitObjCProtocolDecl()
722 Writer.AddSourceLocation(PL, Record); in VisitObjCProtocolDecl()
735 Writer.AddSourceLocation(D->getCategoryNameLoc(), Record); in VisitObjCCategoryDecl()
736 Writer.AddSourceLocation(D->getIvarLBraceLoc(), Record); in VisitObjCCategoryDecl()
737 Writer.AddSourceLocation(D->getIvarRBraceLoc(), Record); in VisitObjCCategoryDecl()
738 Writer.AddDeclRef(D->getClassInterface(), Record); in VisitObjCCategoryDecl()
740 Record.push_back(D->protocol_size()); in VisitObjCCategoryDecl()
742 Writer.AddDeclRef(I, Record); in VisitObjCCategoryDecl()
744 Writer.AddSourceLocation(PL, Record); in VisitObjCCategoryDecl()
750 Writer.AddDeclRef(D->getClassInterface(), Record); in VisitObjCCompatibleAliasDecl()
756 Writer.AddSourceLocation(D->getAtLoc(), Record); in VisitObjCPropertyDecl()
757 Writer.AddSourceLocation(D->getLParenLoc(), Record); in VisitObjCPropertyDecl()
758 Writer.AddTypeRef(D->getType(), Record); in VisitObjCPropertyDecl()
759 Writer.AddTypeSourceInfo(D->getTypeSourceInfo(), Record); in VisitObjCPropertyDecl()
761 Record.push_back((unsigned)D->getPropertyAttributes()); in VisitObjCPropertyDecl()
762 Record.push_back((unsigned)D->getPropertyAttributesAsWritten()); in VisitObjCPropertyDecl()
764 Record.push_back((unsigned)D->getPropertyImplementation()); in VisitObjCPropertyDecl()
765 Writer.AddDeclarationName(D->getGetterName(), Record); in VisitObjCPropertyDecl()
766 Writer.AddDeclarationName(D->getSetterName(), Record); in VisitObjCPropertyDecl()
767 Writer.AddDeclRef(D->getGetterMethodDecl(), Record); in VisitObjCPropertyDecl()
768 Writer.AddDeclRef(D->getSetterMethodDecl(), Record); in VisitObjCPropertyDecl()
769 Writer.AddDeclRef(D->getPropertyIvarDecl(), Record); in VisitObjCPropertyDecl()
775 Writer.AddDeclRef(D->getClassInterface(), Record); in VisitObjCImplDecl()
781 Writer.AddIdentifierRef(D->getIdentifier(), Record); in VisitObjCCategoryImplDecl()
782 Writer.AddSourceLocation(D->getCategoryNameLoc(), Record); in VisitObjCCategoryImplDecl()
788 Writer.AddDeclRef(D->getSuperClass(), Record); in VisitObjCImplementationDecl()
789 Writer.AddSourceLocation(D->getSuperClassLoc(), Record); in VisitObjCImplementationDecl()
790 Writer.AddSourceLocation(D->getIvarLBraceLoc(), Record); in VisitObjCImplementationDecl()
791 Writer.AddSourceLocation(D->getIvarRBraceLoc(), Record); in VisitObjCImplementationDecl()
792 Record.push_back(D->hasNonZeroConstructors()); in VisitObjCImplementationDecl()
793 Record.push_back(D->hasDestructors()); in VisitObjCImplementationDecl()
794 Record.push_back(D->NumIvarInitializers); in VisitObjCImplementationDecl()
797 llvm::makeArrayRef(D->init_begin(), D->init_end()), Record); in VisitObjCImplementationDecl()
803 Writer.AddSourceLocation(D->getLocStart(), Record); in VisitObjCPropertyImplDecl()
804 Writer.AddDeclRef(D->getPropertyDecl(), Record); in VisitObjCPropertyImplDecl()
805 Writer.AddDeclRef(D->getPropertyIvarDecl(), Record); in VisitObjCPropertyImplDecl()
806 Writer.AddSourceLocation(D->getPropertyIvarDeclLoc(), Record); in VisitObjCPropertyImplDecl()
814 Record.push_back(D->isMutable()); in VisitFieldDecl()
817 Record.push_back(0); in VisitFieldDecl()
819 Record.push_back(D->InitStorage.getInt() + 1); in VisitFieldDecl()
822 Record); in VisitFieldDecl()
824 Record.push_back(D->InitStorage.getInt() + 1); in VisitFieldDecl()
828 Writer.AddDeclRef(Context.getInstantiatedFromUnnamedFieldDecl(D), Record); in VisitFieldDecl()
851 Writer.AddIdentifierRef(D->getGetterId(), Record); in VisitMSPropertyDecl()
852 Writer.AddIdentifierRef(D->getSetterId(), Record); in VisitMSPropertyDecl()
858 Record.push_back(D->getChainingSize()); in VisitIndirectFieldDecl()
861 Writer.AddDeclRef(P, Record); in VisitIndirectFieldDecl()
868 Record.push_back(D->getStorageClass()); in VisitVarDecl()
869 Record.push_back(D->getTSCSpec()); in VisitVarDecl()
870 Record.push_back(D->getInitStyle()); in VisitVarDecl()
872 Record.push_back(D->isExceptionVariable()); in VisitVarDecl()
873 Record.push_back(D->isNRVOVariable()); in VisitVarDecl()
874 Record.push_back(D->isCXXForRangeDecl()); in VisitVarDecl()
875 Record.push_back(D->isARCPseudoStrong()); in VisitVarDecl()
876 Record.push_back(D->isConstexpr()); in VisitVarDecl()
877 Record.push_back(D->isInitCapture()); in VisitVarDecl()
878 Record.push_back(D->isPreviousDeclInSameBlockScope()); in VisitVarDecl()
880 Record.push_back(D->getLinkageInternal()); in VisitVarDecl()
883 Record.push_back(!D->isInitKnownICE() ? 1 : (D->isInitICE() ? 3 : 2)); in VisitVarDecl()
886 Record.push_back(0); in VisitVarDecl()
893 Record.push_back(VarTemplate); in VisitVarDecl()
894 Writer.AddDeclRef(TemplD, Record); in VisitVarDecl()
897 Record.push_back(StaticDataMemberSpecialization); in VisitVarDecl()
898 Writer.AddDeclRef(SpecInfo->getInstantiatedFrom(), Record); in VisitVarDecl()
899 Record.push_back(SpecInfo->getTemplateSpecializationKind()); in VisitVarDecl()
900 Writer.AddSourceLocation(SpecInfo->getPointOfInstantiation(), Record); in VisitVarDecl()
902 Record.push_back(VarNotTemplate); in VisitVarDecl()
938 Record.push_back(D->isObjCMethodParameter()); in VisitParmVarDecl()
939 Record.push_back(D->getFunctionScopeDepth()); in VisitParmVarDecl()
940 Record.push_back(D->getFunctionScopeIndex()); in VisitParmVarDecl()
941 Record.push_back(D->getObjCDeclQualifier()); // FIXME: stable encoding in VisitParmVarDecl()
942 Record.push_back(D->isKNRPromoted()); in VisitParmVarDecl()
943 Record.push_back(D->hasInheritedDefaultArg()); in VisitParmVarDecl()
944 Record.push_back(D->hasUninstantiatedDefaultArg()); in VisitParmVarDecl()
986 Writer.AddSourceLocation(D->getRParenLoc(), Record); in VisitFileScopeAsmDecl()
998 Writer.AddTypeSourceInfo(D->getSignatureAsWritten(), Record); in VisitBlockDecl()
999 Record.push_back(D->param_size()); in VisitBlockDecl()
1002 Writer.AddDeclRef(*P, Record); in VisitBlockDecl()
1003 Record.push_back(D->isVariadic()); in VisitBlockDecl()
1004 Record.push_back(D->blockMissingReturnType()); in VisitBlockDecl()
1005 Record.push_back(D->isConversionFromLambda()); in VisitBlockDecl()
1006 Record.push_back(D->capturesCXXThis()); in VisitBlockDecl()
1007 Record.push_back(D->getNumCaptures()); in VisitBlockDecl()
1009 Writer.AddDeclRef(capture.getVariable(), Record); in VisitBlockDecl()
1015 Record.push_back(flags); in VisitBlockDecl()
1024 Record.push_back(CD->getNumParams()); in VisitCapturedDecl()
1026 Record.push_back(CD->getContextParamPosition()); in VisitCapturedDecl()
1027 Record.push_back(CD->isNothrow() ? 1 : 0); in VisitCapturedDecl()
1030 Writer.AddDeclRef(CD->getParam(I), Record); in VisitCapturedDecl()
1036 Record.push_back(D->getLanguage()); in VisitLinkageSpecDecl()
1037 Writer.AddSourceLocation(D->getExternLoc(), Record); in VisitLinkageSpecDecl()
1038 Writer.AddSourceLocation(D->getRBraceLoc(), Record); in VisitLinkageSpecDecl()
1044 Writer.AddSourceLocation(D->getLocStart(), Record); in VisitLabelDecl()
1052 Record.push_back(D->isInline()); in VisitNamespaceDecl()
1053 Writer.AddSourceLocation(D->getLocStart(), Record); in VisitNamespaceDecl()
1054 Writer.AddSourceLocation(D->getRBraceLoc(), Record); in VisitNamespaceDecl()
1057 Writer.AddDeclRef(D->getAnonymousNamespace(), Record); in VisitNamespaceDecl()
1078 Writer.AddSourceLocation(D->getNamespaceLoc(), Record); in VisitNamespaceAliasDecl()
1079 Writer.AddSourceLocation(D->getTargetNameLoc(), Record); in VisitNamespaceAliasDecl()
1080 Writer.AddNestedNameSpecifierLoc(D->getQualifierLoc(), Record); in VisitNamespaceAliasDecl()
1081 Writer.AddDeclRef(D->getNamespace(), Record); in VisitNamespaceAliasDecl()
1087 Writer.AddSourceLocation(D->getUsingLoc(), Record); in VisitUsingDecl()
1088 Writer.AddNestedNameSpecifierLoc(D->getQualifierLoc(), Record); in VisitUsingDecl()
1089 Writer.AddDeclarationNameLoc(D->DNLoc, D->getDeclName(), Record); in VisitUsingDecl()
1090 Writer.AddDeclRef(D->FirstUsingShadow.getPointer(), Record); in VisitUsingDecl()
1091 Record.push_back(D->hasTypename()); in VisitUsingDecl()
1092 Writer.AddDeclRef(Context.getInstantiatedFromUsingDecl(D), Record); in VisitUsingDecl()
1099 Writer.AddDeclRef(D->getTargetDecl(), Record); in VisitUsingShadowDecl()
1100 Writer.AddDeclRef(D->UsingOrNextShadow, Record); in VisitUsingShadowDecl()
1101 Writer.AddDeclRef(Context.getInstantiatedFromUsingShadowDecl(D), Record); in VisitUsingShadowDecl()
1107 Writer.AddSourceLocation(D->getUsingLoc(), Record); in VisitUsingDirectiveDecl()
1108 Writer.AddSourceLocation(D->getNamespaceKeyLocation(), Record); in VisitUsingDirectiveDecl()
1109 Writer.AddNestedNameSpecifierLoc(D->getQualifierLoc(), Record); in VisitUsingDirectiveDecl()
1110 Writer.AddDeclRef(D->getNominatedNamespace(), Record); in VisitUsingDirectiveDecl()
1111 Writer.AddDeclRef(dyn_cast<Decl>(D->getCommonAncestor()), Record); in VisitUsingDirectiveDecl()
1117 Writer.AddSourceLocation(D->getUsingLoc(), Record); in VisitUnresolvedUsingValueDecl()
1118 Writer.AddNestedNameSpecifierLoc(D->getQualifierLoc(), Record); in VisitUnresolvedUsingValueDecl()
1119 Writer.AddDeclarationNameLoc(D->DNLoc, D->getDeclName(), Record); in VisitUnresolvedUsingValueDecl()
1126 Writer.AddSourceLocation(D->getTypenameLoc(), Record); in VisitUnresolvedUsingTypenameDecl()
1127 Writer.AddNestedNameSpecifierLoc(D->getQualifierLoc(), Record); in VisitUnresolvedUsingTypenameDecl()
1138 Record.push_back(CXXRecTemplate); in VisitCXXRecordDecl()
1139 Writer.AddDeclRef(TemplD, Record); in VisitCXXRecordDecl()
1142 Record.push_back(CXXRecMemberSpecialization); in VisitCXXRecordDecl()
1143 Writer.AddDeclRef(MSInfo->getInstantiatedFrom(), Record); in VisitCXXRecordDecl()
1144 Record.push_back(MSInfo->getTemplateSpecializationKind()); in VisitCXXRecordDecl()
1145 Writer.AddSourceLocation(MSInfo->getPointOfInstantiation(), Record); in VisitCXXRecordDecl()
1147 Record.push_back(CXXRecNotTemplate); in VisitCXXRecordDecl()
1150 Record.push_back(D->isThisDeclarationADefinition()); in VisitCXXRecordDecl()
1152 Writer.AddCXXDefinitionData(D, Record); in VisitCXXRecordDecl()
1157 Writer.AddDeclRef(Context.getCurrentKeyFunction(D), Record); in VisitCXXRecordDecl()
1165 Record.push_back(D->size_overridden_methods()); in VisitCXXMethodDecl()
1169 Writer.AddDeclRef(*I, Record); in VisitCXXMethodDecl()
1171 // We only need to record overridden methods once for the canonical decl. in VisitCXXMethodDecl()
1172 Record.push_back(0); in VisitCXXMethodDecl()
1192 Writer.AddDeclRef(D->getInheritedConstructor(), Record); in VisitCXXConstructorDecl()
1193 Record.push_back(D->IsExplicitSpecified); in VisitCXXConstructorDecl()
1201 Writer.AddDeclRef(D->getOperatorDelete(), Record); in VisitCXXDestructorDecl()
1208 Record.push_back(D->IsExplicitSpecified); in VisitCXXConversionDecl()
1214 Record.push_back(Writer.getSubmoduleID(D->getImportedModule())); in VisitImportDecl()
1216 Record.push_back(!IdentifierLocs.empty()); in VisitImportDecl()
1218 Writer.AddSourceLocation(D->getLocEnd(), Record); in VisitImportDecl()
1219 Record.push_back(1); in VisitImportDecl()
1222 Writer.AddSourceLocation(IdentifierLocs[I], Record); in VisitImportDecl()
1223 Record.push_back(IdentifierLocs.size()); in VisitImportDecl()
1226 // the record. in VisitImportDecl()
1232 Writer.AddSourceLocation(D->getColonLoc(), Record); in VisitAccessSpecDecl()
1237 // Record the number of friend type template parameter lists here in VisitFriendDecl()
1239 Record.push_back(D->NumTPLists); in VisitFriendDecl()
1242 Record.push_back(hasFriendDecl); in VisitFriendDecl()
1244 Writer.AddDeclRef(D->getFriendDecl(), Record); in VisitFriendDecl()
1246 Writer.AddTypeSourceInfo(D->getFriendType(), Record); in VisitFriendDecl()
1249 Record); in VisitFriendDecl()
1250 Writer.AddDeclRef(D->getNextFriend(), Record); in VisitFriendDecl()
1251 Record.push_back(D->UnsupportedFriend); in VisitFriendDecl()
1252 Writer.AddSourceLocation(D->FriendLoc, Record); in VisitFriendDecl()
1258 Record.push_back(D->getNumTemplateParameters()); in VisitFriendTemplateDecl()
1260 Writer.AddTemplateParameterList(D->getTemplateParameterList(i), Record); in VisitFriendTemplateDecl()
1261 Record.push_back(D->getFriendDecl() != nullptr); in VisitFriendTemplateDecl()
1263 Writer.AddDeclRef(D->getFriendDecl(), Record); in VisitFriendTemplateDecl()
1265 Writer.AddTypeSourceInfo(D->getFriendType(), Record); in VisitFriendTemplateDecl()
1266 Writer.AddSourceLocation(D->getFriendLoc(), Record); in VisitFriendTemplateDecl()
1273 Writer.AddDeclRef(D->getTemplatedDecl(), Record); in VisitTemplateDecl()
1274 Writer.AddTemplateParameterList(D->getTemplateParameters(), Record); in VisitTemplateDecl()
1284 Writer.AddDeclRef(D->getInstantiatedFromMemberTemplate(), Record); in VisitRedeclarableTemplateDecl()
1286 Record.push_back(D->isMemberSpecialization()); in VisitRedeclarableTemplateDecl()
1290 Record.push_back(D->getIdentifierNamespace()); in VisitRedeclarableTemplateDecl()
1311 Writer.AddDeclRef(InstFromD, Record); in VisitClassTemplateSpecializationDecl()
1314 Record); in VisitClassTemplateSpecializationDecl()
1315 Writer.AddTemplateArgumentList(&D->getTemplateInstantiationArgs(), Record); in VisitClassTemplateSpecializationDecl()
1318 Writer.AddTemplateArgumentList(&D->getTemplateArgs(), Record); in VisitClassTemplateSpecializationDecl()
1319 Writer.AddSourceLocation(D->getPointOfInstantiation(), Record); in VisitClassTemplateSpecializationDecl()
1320 Record.push_back(D->getSpecializationKind()); in VisitClassTemplateSpecializationDecl()
1321 Record.push_back(D->isCanonicalDecl()); in VisitClassTemplateSpecializationDecl()
1325 Writer.AddDeclRef(D->getSpecializedTemplate()->getCanonicalDecl(), Record); in VisitClassTemplateSpecializationDecl()
1329 Writer.AddTypeSourceInfo(D->getTypeAsWritten(), Record); in VisitClassTemplateSpecializationDecl()
1331 Writer.AddSourceLocation(D->getExternLoc(), Record); in VisitClassTemplateSpecializationDecl()
1332 Writer.AddSourceLocation(D->getTemplateKeywordLoc(), Record); in VisitClassTemplateSpecializationDecl()
1342 Writer.AddTemplateParameterList(D->getTemplateParameters(), Record); in VisitClassTemplatePartialSpecializationDecl()
1343 Writer.AddASTTemplateArgumentListInfo(D->getTemplateArgsAsWritten(), Record); in VisitClassTemplatePartialSpecializationDecl()
1347 Writer.AddDeclRef(D->getInstantiatedFromMember(), Record); in VisitClassTemplatePartialSpecializationDecl()
1348 Record.push_back(D->isMemberSpecialization()); in VisitClassTemplatePartialSpecializationDecl()
1371 Writer.AddDeclRef(InstFromD, Record); in VisitVarTemplateSpecializationDecl()
1374 Record); in VisitVarTemplateSpecializationDecl()
1375 Writer.AddTemplateArgumentList(&D->getTemplateInstantiationArgs(), Record); in VisitVarTemplateSpecializationDecl()
1379 Writer.AddTypeSourceInfo(D->getTypeAsWritten(), Record); in VisitVarTemplateSpecializationDecl()
1381 Writer.AddSourceLocation(D->getExternLoc(), Record); in VisitVarTemplateSpecializationDecl()
1382 Writer.AddSourceLocation(D->getTemplateKeywordLoc(), Record); in VisitVarTemplateSpecializationDecl()
1385 Writer.AddTemplateArgumentList(&D->getTemplateArgs(), Record); in VisitVarTemplateSpecializationDecl()
1386 Writer.AddSourceLocation(D->getPointOfInstantiation(), Record); in VisitVarTemplateSpecializationDecl()
1387 Record.push_back(D->getSpecializationKind()); in VisitVarTemplateSpecializationDecl()
1388 Record.push_back(D->isCanonicalDecl()); in VisitVarTemplateSpecializationDecl()
1392 Writer.AddDeclRef(D->getSpecializedTemplate()->getCanonicalDecl(), Record); in VisitVarTemplateSpecializationDecl()
1402 Writer.AddTemplateParameterList(D->getTemplateParameters(), Record); in VisitVarTemplatePartialSpecializationDecl()
1403 Writer.AddASTTemplateArgumentListInfo(D->getTemplateArgsAsWritten(), Record); in VisitVarTemplatePartialSpecializationDecl()
1407 Writer.AddDeclRef(D->getInstantiatedFromMember(), Record); in VisitVarTemplatePartialSpecializationDecl()
1408 Record.push_back(D->isMemberSpecialization()); in VisitVarTemplatePartialSpecializationDecl()
1417 Writer.AddDeclRef(D->getSpecialization(), Record); in VisitClassScopeFunctionSpecializationDecl()
1433 Record.push_back(D->wasDeclaredWithTypename()); in VisitTemplateTypeParmDecl()
1437 Record.push_back(OwnsDefaultArg); in VisitTemplateTypeParmDecl()
1439 Writer.AddTypeSourceInfo(D->getDefaultArgumentInfo(), Record); in VisitTemplateTypeParmDecl()
1445 // For an expanded parameter pack, record the number of expansion types here in VisitNonTypeTemplateParmDecl()
1449 Record.push_back(D->getNumExpansionTypes()); in VisitNonTypeTemplateParmDecl()
1453 Record.push_back(D->getDepth()); in VisitNonTypeTemplateParmDecl()
1454 Record.push_back(D->getPosition()); in VisitNonTypeTemplateParmDecl()
1458 Writer.AddTypeRef(D->getExpansionType(I), Record); in VisitNonTypeTemplateParmDecl()
1459 Writer.AddTypeSourceInfo(D->getExpansionTypeSourceInfo(I), Record); in VisitNonTypeTemplateParmDecl()
1465 Record.push_back(D->isParameterPack()); in VisitNonTypeTemplateParmDecl()
1468 Record.push_back(OwnsDefaultArg); in VisitNonTypeTemplateParmDecl()
1476 // For an expanded parameter pack, record the number of expansion types here in VisitTemplateTemplateParmDecl()
1480 Record.push_back(D->getNumExpansionTemplateParameters()); in VisitTemplateTemplateParmDecl()
1484 Record.push_back(D->getDepth()); in VisitTemplateTemplateParmDecl()
1485 Record.push_back(D->getPosition()); in VisitTemplateTemplateParmDecl()
1491 Record); in VisitTemplateTemplateParmDecl()
1495 Record.push_back(D->isParameterPack()); in VisitTemplateTemplateParmDecl()
1498 Record.push_back(OwnsDefaultArg); in VisitTemplateTemplateParmDecl()
1500 Writer.AddTemplateArgumentLoc(D->getDefaultArgument(), Record); in VisitTemplateTemplateParmDecl()
1513 Record.push_back(D->isFailed()); in VisitStaticAssertDecl()
1515 Writer.AddSourceLocation(D->getRParenLoc(), Record); in VisitStaticAssertDecl()
1532 Record.push_back(LexicalOffset); in VisitDeclContext()
1533 Record.push_back(VisibleOffset); in VisitDeclContext()
1572 Writer.AddDeclRef(First, Record); in VisitRedeclarable()
1581 unsigned I = Record.size(); in VisitRedeclarable()
1582 Record.push_back(0); in VisitRedeclarable()
1586 Record[I] = Record.size() - I; in VisitRedeclarable()
1596 // If we have any redecls, write them now as a separate record preceding in VisitRedeclarable()
1599 Record.push_back(0); in VisitRedeclarable()
1601 Record.push_back(Writer.Stream.GetCurrentBitNo()); in VisitRedeclarable()
1605 Record.push_back(0); in VisitRedeclarable()
1606 Writer.AddDeclRef(FirstLocal, Record); in VisitRedeclarable()
1619 Record.push_back(0); in VisitRedeclarable()
1624 Record.push_back(D->varlist_size()); in VisitOMPThreadPrivateDecl()
1968 // This Array slurps the rest of the record. Fortunately we want to encode in WriteDeclAbbrevs()
2102 RecordData Record; in WriteDecl() local
2103 ASTDeclWriter W(*this, Context, Record); in WriteDecl()
2120 // their offsets into the record for the declaration. in WriteDecl()
2137 // Build a record for this declaration in WriteDecl()
2138 Record.clear(); in WriteDecl()
2151 // Record the offset for this declaration in WriteDecl()
2169 Stream.EmitRecord(W.Code, Record, W.AbbrevToUse); in WriteDecl()
2176 // them to a record in the AST file later. in WriteDecl()
2182 RecordData &Record) { in AddFunctionDefinition() argument
2185 ASTDeclWriter W(*this, FD->getASTContext(), Record); in AddFunctionDefinition()